2016-12-15 17 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 для этого метода.

Затем вы можете выбрать вкладку, вычитая ее из значения, возвращаемого методом.