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

时间:2013-01-18 20:56:14

标签: java swing jtabbedpane

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

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

JTabbedPane内的某些内容正在响应标签点击以确保触发状态更改,我只是想知道此功能是否在类之外公开。无论哪种方式,这都有一个很好的解决方案吗?

提前致谢

1 个答案:

答案 0 :(得分:2)

通过创建自定义VetoableSingleSelectionModel来切换标签之前,这是一种很好的验证方法:

Forbid tab change in a JTabbedPane