2011-12-19 2 views
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(); 
    } 

Во время исполнения я не могу нажать на вкладку „Credits“: Вкладки не показаны компоненты контейнера cClientEtCredits! А также заголовок Form не отображается, когда отображается Form, но я должен щелкнуть по одной вкладке, чтобы показать название Form!

Так почему?

+0

Это всего лишь фрагмент, необходимо предоставить больше кода для анализа причины, по которой контейнер 'cClientEtCredits' не отображается. Также нужен соответствующий код для обработки контейнера заголовка формы в вашем коде. – Vimal

ответ

1

Я угадываю его из-за вызова фокуса запроса внутри слушателя фокуса.

Возможно, вы должны изменить вкладку до, перемещая фокус на другой компонент, используя что-то вроде setSelectedIndex.