Java 如何检查并防止更改JTabbedPane上的选项卡?

Java 如何检查并防止更改JTabbedPane上的选项卡?,java,swing,jtabbedpane,Java,Swing,Jtabbedpane,我有一个选项卡式选项面板,我想验证是否作为用户选项卡连接到其他面板。我添加了一个ChangeListener,但这仅在他们更改选项卡后触发,我希望在选项卡更改之前进行检查,并防止选项卡更改,如果其中的任何信息无效。与所有Swing组件一样,JTabbedPane无法自行控制其状态。它委托给负责它的模型。您可以通过设置自己的模型。如果您不想完全自己实现接口,您可以创建一个子类并重写setSelectedIndex(int index)方法,并根据您的条件决定是否将请求传递给超类实现 当您希望及时检

我有一个选项卡式选项面板,我想验证是否作为用户选项卡连接到其他面板。我添加了一个ChangeListener,但这仅在他们更改选项卡后触发,我希望在选项卡更改之前进行检查,并防止选项卡更改,如果其中的任何信息无效。

与所有Swing组件一样,
JTabbedPane
无法自行控制其状态。它委托给负责它的模型。您可以通过设置自己的模型。如果您不想完全自己实现接口,您可以创建一个子类并重写
setSelectedIndex(int index)
方法,并根据您的条件决定是否将请求传递给超类实现


当您希望及时检查条件时(即单击选项卡时),这是一种解决方案,可能是因为提前检查费用太高。否则,如果您提前知道某个选项卡是不允许的,您可以像所有Swing组件一样简单地调用,
JTabbedPane
本身并不控制其状态。它委托给负责它的模型。您可以通过设置自己的模型。如果您不想完全自己实现接口,您可以创建一个子类并重写
setSelectedIndex(int index)
方法,并根据您的条件决定是否将请求传递给超类实现


当您希望及时检查条件时(即单击选项卡时),这是一种解决方案,可能是因为提前检查费用太高。否则,如果您提前知道某个选项卡是不允许的,您可以像所有Swing组件一样简单地调用,
JTabbedPane
本身并不控制其状态。它委托给负责它的模型。您可以通过设置自己的模型。如果您不想完全自己实现接口,您可以创建一个子类并重写
setSelectedIndex(int index)
方法,并根据您的条件决定是否将请求传递给超类实现


当您希望及时检查条件时(即单击选项卡时),这是一种解决方案,可能是因为提前检查费用太高。否则,如果您提前知道某个选项卡是不允许的,您可以像所有Swing组件一样简单地调用,
JTabbedPane
本身并不控制其状态。它委托给负责它的模型。您可以通过设置自己的模型。如果您不想完全自己实现接口,您可以创建一个子类并重写
setSelectedIndex(int index)
方法,并根据您的条件决定是否将请求传递给超类实现

当您希望及时检查条件时(即单击选项卡时),这是一种解决方案,可能是因为提前检查费用太高。否则,如果您提前知道某个选项卡是不允许的,您可以简单地调用