0

有一个Tabs组件有两个选项卡:

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();
    }

在运行时我无法单击“信用”选项卡:选项卡不显示cClientEtCredits容器的组件!并且在Form显示时不显示标题,Form但我必须单击一个选项卡按钮才能显示Form标题!

所以为什么 ?

4

1 回答 1

1

我猜是因为焦点侦听器中的请求焦点调用。

在将焦点移动到不同的组件之前,您可能应该更改选项卡选择,方法是使用setSelectedIndex.

于 2011-12-22T06:12:35.893 回答