当我在setSelectedComponent
对象上使用setSelectedIndex
或JTabbedPane
时,该面板始终显示在我的界面中。但是,有时与面板关联的选项卡仍然是隐藏的。换句话说,选项卡不会滚动到选项卡式窗格的可见部分。
我该如何解决这个问题?我已经尝试了俗气的选择一个索引,然后选择所需的索引,以及其他几个更优雅的东西,但arrrrgh !!
如果可以,请帮助我。
谢谢, 托德
答案 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
}