2016-07-19 2 views
1

스크롤 탭 레이아웃에 JTabbedPane이 있습니다. 모든 탭이 한 행에 멋지게 배치됩니다. 사용자가 마우스 휠을 사용하여 스크롤 할 수있는 방법이 있습니까? 아니면 키보드 및 GUI의 화살표로 JTabbedPane.SCROLL_TAB_LAYOUT을 탐색하고 탭을 클릭하여 유일한 방법입니까?마우스를 사용하여 JTabbedPane의 탭을 스크롤하십시오.

답변

4

나는 이클립스의 자동 완성 주위에 파고 후,이에 대한 답을 찾았어요 다음 JTabbedPane에 대한 MouseWheelListener을 사용

JTabbedPane tabbedPane = new JTabbedPane(); 
tabbedPane.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT); 
tabbedPane.addMouseWheelListener(new MouseWheelListener() { 
    @Override 
    public void mouseWheelMoved(MouseWheelEvent e) { 
     JTabbedPane pane = (JTabbedPane) e.getSource(); 
     int units = e.getWheelRotation(); 
     int oldIndex = pane.getSelectedIndex(); 
     int newIndex = oldIndex + units; 
     if (newIndex < 0) 
      pane.setSelectedIndex(0); 
     else if (newIndex >= pane.getTabCount()) 
      pane.setSelectedIndex(pane.getTabCount() - 1); 
     else 
      pane.setSelectedIndex(newIndex); 
    } 
}); 

을이 탭에서 마우스 스크롤을 가능하게하고, JTabbedPane의 인덱스의 경계를 존중 모두 .

더 좋은 답변을 얻은 사용자라면 기꺼이 받아 들여야합니다.

+0

어디에서 찾았습니까? 링크? –

+0

@HovercraftFullOfEels 이클립스의 자동 완성 기능을 사용하여 이벤트 리스너를 검색하고 코드를 작성했습니다. (tabbedPane 실제로 내 프로그램에서 사용하는 이름, 일부 자습서에서 일반 이름이 아닙니다.) – 17slim

+0

필자는 더 많은 정보가 담긴 튜토리얼을 꼭보아야 만합니다. – 17slim

관련 문제