0

Tabs2 つのタブを持つコンポーネントがあります。

private Tabs tabClient = new Tabs();
...
tabClient.addTab("Fiche", cFicheClient); // cFicheClient is a Container
tabClient.addTab("Crédits", cClientEtCredits); // cClientEtCredits is a Container
tabClient.addTabsFocusListener(this);

public void focusGained(Component arg0) {
        String noms = Formatage.getColumnValueAt(String.valueOf(fichesignalitique.elementAt(0)).toUpperCase(), 11);
        if (tabClient.getSelectedIndex() == 0)
        {
            setTitle("Fiche signalétique de " + noms);
            photosBtn.requestFocus();
        }
        else
        {
            setTitle("Liste des crédits de " + noms);
            recapClient.requestFocus();
        }
        repaint();
    }

実行時に「Crédits」タブをクリックできません。タブにはcClientEtCreditsコンテナのコンポーネントが表示されません。また、Formが表示されているときにタイトルは表示されませんが、タイトルを表示するにFormは、タブ ボタンを 1 つクリックする必要がありますForm

なぜ ?

4

1 に答える 1

1

フォーカスリスナー内のリクエストフォーカス呼び出しが原因だと思います。

などを使用して、フォーカスを別のコンポーネントに移動するに、おそらくタブの選択を変更する必要がありますsetSelectedIndex

于 2011-12-22T06:12:35.893 に答える