1

setSelectedComponentオブジェクトでまたはsetSelectedIndexを使用するJTabbedPaneと、パネルが常に UI に表示されます。ただし、パネルに関連付けられたタブが非表示のままになることがあります。つまり、タブは、タブ付きペインの可視部分までスクロールしません。

どうすればこれを修正できますか? 私は安っぽい1つのインデックスを選択してから、目的のインデックスを選択し、他のいくつかのよりエレガントなものを試しましたが、ああああ!!

できれば助けてください。

ありがとう、トッド

4

2 に答える 2

2

あなたの電話は EDT で行われていないと思います。で包むSwingUtilities.invokeLater

于 2009-08-05T21:21:17.107 に答える
1

これは、Swing コンポーネントまたはそのモデルを変更するメソッドがあり、EDT で呼び出す必要があるが、バックグラウンド スレッドから呼び出すことができる場合に使用できるパターンです。これにより、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
}
于 2009-08-06T18:53:12.783 に答える