我有一个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);
}
答案 0 :(得分:2)
tb.setSelectedIndex(inI+1);
inI++;
无需变量来跟踪选项卡式窗格中的选项卡数量。
您可以从选项卡式窗格中获取该信息。我认为该方法是getTabCount()
或类似的东西。阅读方法的JTabbedPane。
然后,您可以通过从方法返回的值中减去一个来选择选项卡。