在JTabbedPane中将选项卡置于前面

时间:2009-08-05 20:45:46

标签: java swing jtabbedpane

当我在setSelectedComponent对象上使用setSelectedIndexJTabbedPane时,该面板始终显示在我的界面中。但是,有时与面板关联的选项卡仍然是隐藏的。换句话说,选项卡不会滚动到选项卡式窗格的可见部分。

我该如何解决这个问题?我已经尝试了俗气的选择一个索引,然后选择所需的索引,以及其他几个更优雅的东西,但arrrrgh !!

如果可以,请帮助我。

谢谢, 托德

2 个答案:

答案 0 :(得分:2)

我认为您的电话未在EDT上完成。用SwingUtilities.invokeLater

包裹它

答案 1 :(得分:1)

如果你有一个改变摆动组件的方法,或者你的模型必须在EDT上调用,可以使用这个模式,但可以从后台线程调用。这样可以确保在EDT上运行 func 始终

void func(final Type1 arg1, final Type2 arg2) {

    if (!SwingUtilities.isEventDispatchThread()) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                func(arg1, arg2);
            }
        });
        return;
    }
    // method code goes here
}