2016-12-15 4 views
0

JTabbedPane이 있는데 새 탭 단추를 추가하면 새 탭이 만들어지고 새 탭에 포커스가 있습니다. 하지만 그 탭을 클릭하면 새 탭에서 다른 탭으로 포커스를 이동하고 싶습니다.클릭 한 탭에 포커스를 이동하는 방법

어떻게 클릭 한 탭에 포커스를 옮길 수 있습니까? 미리 감사드립니다. 탭이 영역에서 탭의 수를 추적하기위한 변수 필요가

public Test(){ 
    newPage = new JButton(); 
    newPage.setPreferredSize(new Dimension(30, 30)); 
    newPage.setBorderPainted(false); 
    newPage.setBackground(Color.decode("#330300")); 
    newPage.setToolTipText("New Page"); 
    newPage.setEnabled(true); 
    JPanel jp = new JPanel(); 
    jp.setLayout(new BorderLayout()); 
    tb = new JTabbedPane(); 
    tb.setUI(new CustomTabbedPaneUI()); 
    tb.setForeground(Color.decode("#330300")); 
    tb.addTab("New Tab", fPane); 
    jp.add(new JLayer<JTabbedPane>(tb)); 
    newPage.addActionListener(new ActionListener() { 
     @Override 
     public void actionPerformed(ActionEvent ae) { 
      try { 
       tb.addTab("New Tab", new JPanel()); 
       //initial value of inI=0; 
       tb.setSelectedIndex(inI+1); 
       inI++; 
      } catch (IOException ex) { 
       Logger.getLogger(Pooh.class.getName()).log(Level.SEVERE, null, ex); 
      } 
     } 
    }); 
    tb.setOpaque(true); 


} 

답변

2
tb.setSelectedIndex(inI+1); 
inI++; 

없다 : 여기

새로운 탭을 처리하는 코드의 일부분이다.

정보는 탭 패널에서 가져올 수 있습니다. 나는 그 방법이 getTabCount()이거나 그와 비슷한 것이라고 생각한다. 이 메소드의 JTabbedPane를 읽어들입니다.

그런 다음 메서드에서 반환 된 값에서 1을 뺀 값으로 탭을 선택할 수 있습니다.