当我使用setSelectedComponentsetSelectedIndex一个JTabbedPane物体上时,该面板总是在我UI出现。然而,有时与面板相关的标签保持隐藏。换句话说,舌片不会滚动到标签面板的可见部分。

我怎样才能解决这个问题?我曾尝试俗气选择一个索引,然后选择所需的索引,以及其他几个更优雅的东西,但arrrrgh !!

如果你能

帮我。

谢谢, 托德

有帮助吗?

解决方案

我觉得你的电话没有在美国东部时间完成。与SwingUtilities.invokeLater包裹它

其他提示

下面是如果你有改变Swing组件的方法,或他们的模型,因此必须在美国东部时间被调用,但也可以从后台线程调用,您可以使用一个图案。这可确保的 FUNC 在EDT总是运行:

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
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top