2013-06-12 1 views
0

4 개의 탭이 있으며 WebTabbedPane을 사용합니다.스윙의 버튼 클릭 이벤트에서 WebTabbedPane의 탭을 엽니 다.

이제 다른 탭으로 이동하는 데 도움이되는 버튼 하나가 필요합니다. 스윙의 특정 탭으로 이동하는 데 도움이되는 버튼 클릭 이벤트에 무엇을 쓸지

다음 코드가있는 탭을 추가했습니다.

WebTabbedPane tabbedPane = new WebTabbedPane(); tabbedPane.setPreferredSize (새 치수 (300, 200));

tabbedPane.addTab("File Selection", fileView); 
    tabbedPane.setSelectedForegroundAt(tabbedPane.getTabCount() - 1, 
      Color.BLACK); 

    tabbedPane.addTab("Criteria Selection", criteriaView); 
    tabbedPane.setSelectedForegroundAt(tabbedPane.getTabCount() - 1, 
      Color.BLACK); 

    tabbedPane.addTab("Channels Selection", channelSelection); 
    tabbedPane.setSelectedForegroundAt(tabbedPane.getTabCount() - 1, 
      Color.BLACK); 

    tabbedPane.addTab("Chart Preview", chartpreview); 
    tabbedPane.setSelectedForegroundAt(tabbedPane.getTabCount() - 1, 
      Color.BLACK); 

답변

2

JTabbedPane API를 읽으면 현재 선택된 탭을 가져 와서 현재 탭을 설정할 수있는 메소드가 있습니다.

그래서 ActionListener에서 현재 탭을 얻고 1을 더한 다음 선택한 탭을 설정합니다.

+0

에서 살펴 보는 게 좋을 것 직접

핸들러에 인스턴스 변수 또는 과거 일해야 할 것.! – user1133672

+0

@ user2469794, API 읽기! WebTabbedPane은 JTabbedPane을 확장하므로 모든 메소드에 여전히 액세스 할 수 있습니다! – camickr

2

글쎄, 현재 선택한 탭 JTabbedPane#getSelectedIndex을 알고 다음 또는 이전 선택한 탭인 JTabbedPane#setSelectedIndex을 설정해야합니다.

분명히 새로운 색인이 선택된 탭의 사용 가능한 범위 내에 있는지 확인해야합니다. 그러나 이미 선을 따라 뭔가를 했으므로 알아낼 수 있어야합니다.

유일한 다른 문제는 처리기가 tabbedPane에 대한 참조를 필요로한다는 것입니다. 그것의 의미 중 하나 나 또한 내가 JTabbedPane에 그래서이 관련 솔루션을하시기 바랍니다없는 웹 WebTabbedPane를 사용하고 How to use Tabbed Panes

관련 문제