java - 单击 JTabbedPane 选项卡时捕获事件(在实际状态更改之前)

标签 java swing jtabbedpane

我知道我可以添加一个 ChangeListener 来检测选项卡何时更改,但我想在更改之前执行此操作。这是我的情况:

当我的用户尝试切换选项卡时,我会对当前选项卡上的某些内容进行验证,并且仅当验证通过时选项卡才应切换。如果我使用 addChangeListener 并在验证失败时将其切换回来(希望它发生得足够快,以至于我看不到它),我将看到选项卡已切换,然后立即切换回来,这看起来很愚蠢。

JTabbedPane 中的某些内容正在响应选项卡单击,确保触发状态更改,我只是想知道此功能是否公开在类之外。不管怎样,有没有好的解决方案?

提前致谢

最佳答案

这是一种在切换选项卡之前通过创建自定义 VetoableSingleSelectionModel 进行验证的好方法:

Forbid tab change in a JTabbedPane

关于java - 单击 JTabbedPane 选项卡时捕获事件(在实际状态更改之前),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14407479/

相关文章:

使用 MAPI 访问 MAILBOX 的 Java 应用程序

java - 如何在 JUNIT 中检查字符串不为空

java - 选择选项卡时触发 JTabbedPane 事件

java - jFileChooser 保存所选选项卡的文件

java - JTabbedPane - ArrayIndexOutOfBoundsException

java - Javac版本更新成功后,Java版本没有更新,是什么原因?

java - 使用 JNDI 的 NameAlreadyBoundException

Java swing setSelectionForeground 性能问题

java - ListCellRenderer - JLabel - 字符串 - n 行

java - Mac 上的 SWT 和 Swing