2016-12-15 48 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来选择选项卡。