JTabbedPaneでタブを前面に移動する
-
22-07-2019 - |
質問
JTabbedPane
オブジェクトで setSelectedComponent
または setSelectedIndex
を使用すると、パネルが常にUIに表示されます。ただし、パネルに関連付けられたタブが非表示のままになる場合があります。つまり、タブはタブ付きペインの表示部分までスクロールしません。
これを修正するにはどうすればよいですか?私は安っぽい1つのインデックスを選択してから、目的のインデックスを選択し、さらにいくつかのよりエレガントなものを試しましたが、arrrrrgh !!
できれば助けてください。
ありがとう、 トッド
解決
あなたの電話はEDTで行われていないと思います。 SwingUtilities.invokeLater
他のヒント
これは、スイングコンポーネントまたはそのモデルを変更するメソッドがあり、EDTで呼び出す必要があるが、バックグラウンドスレッドから呼び出すことができる場合に使用できるパターンです。これにより、EDMで func always が実行されます。
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
}
所属していません StackOverflow