2016-12-15 24 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を引いてタブを選択できます。

関連する問題