6

当用户单击选项卡时,我会执行一些验证。如果验证 == true 则允许选项卡显示(或切换到)。现在我正在使用 StateChanged 事件进行验证。问题是,当您单击选项卡时,它会显示选项卡内容,如果验证 == false 它会切换回上一个选项卡。除非验证 == true,否则我根本不希望它切换到。我该怎么做,我是否在检查错误的事件?谢谢你们

4

2 回答 2

3

如果validation = false,您可以使用方法tab.setEnabledAt(index, false) 禁用选项卡,并在validation = true 时使用tab.setEnabledAt(index, true) 重新打开它。

编辑:禁用选项卡会将其变灰,因此用户无法首先单击它,这意味着您必须在用户单击选项卡之前执行验证检查。

于 2012-05-11T15:59:48.750 回答
1

尝试覆盖 JTabbedPane.setSelectedIndex(int index)。

于 2012-05-11T15:11:33.090 回答