2012-05-06 2 views

답변

4

변경 청취자를 JTabbedPane에 추가하면 탭 선택이 변경 될 때 알 수 있습니다.

업데이트 : 추가 된 탭 인덱스는 내가이 사용 된 소스를 가지고 있지 않지만, 내가 무슨 짓을했는지 확신

tabbedPane.getModel().addChangeListener(new ChangeListener() { 
    int lastTabIndex = -1; 
    public void stateChanged(ChangeEvent e) { 
     int newIndex = tabbedPane.getSelectedIndex(); 
     if (lastTabIndex == 1 && newIndex == 2) { //or whatever check/combination of checks you would like 
      //switched from tab 1 to tab 2! 
     } 

     //or just check for leaving tab 1 
     if (lastTabIndex == 1) { 
      //left tab 1! 
     } 

     //etc 

     lastTabIndex = newIndex; 
    } 
}); 
+3

@Hovercraft가 말했듯이 JTabbedPane에서 바로 똑같은 것을 말합니다. –

+3

. 중복 된 답변을 삭제합니다. 1 + –

+0

네,이 청취자에 대해 알고 있습니다. 그리고 나는 아직도 선택되지 않은 왼쪽 사용자 탭을 어떻게 검색 할 수 있는지 이해하지 못합니다. 정말 이해하기 쉽고 분명하다면 정말 미안하지만, 좀 더 자세한 내용을 말해 줄 수 있습니까? –

2

을 추적했다 JTabbedPane에 확장 및 setSelectedIndex (int)를 우선합니다. 인덱스가 지정된 숫자로 변경 될 때 호출되며, 왼쪽에있는 창에서 내용을 확인하는 데 사용됩니다. 논리가 super.setSelectedIndex (int)를 실행하지 않으면 패널을 닫지 않습니다 (이는 내가 수행 한 것입니다).