Thu*_*lla 2 firefox swing jtabbedpane
我想在JTabbedPane的标题栏上添加一个按钮(类似于Firefox中的'打开新标签'('+')按钮)我试图添加到JTabbedPane容器的玻璃窗格中.但由于我的tabbedpane包含在JPanel中似乎它对我不起作用.任何建议对我都有很大的帮助.谢谢.
我没有添加按钮,而是以不同的方式尝试了它并为我工作...我添加了一个JLabel(带有'+')作为隐藏选项卡,当用户尝试选择该选项卡时,我将添加一个新的标签.
public class AddTabButtonDemo extends JFrame{
private JTabbedPane tabbedPane = new JTabbedPane();
public AddTabButtonDemo() {
JLabel tab1Label = new JLabel("tab1");
JPanel tab1 = new JPanel();
tab1.add(tab1Label);
tabbedPane.addTab("tab1", tab1);
tabbedPane.addTab("+", new JLabel());
tabbedPane.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
if (tabbedPane.getSelectedComponent() instanceof JLabel) {
int count = tabbedPane.getTabCount();
JLabel newTabLabel = new JLabel("tab" + count);
JPanel newTab = new JPanel();
newTab.add(newTabLabel);
tabbedPane.add(newTab, count - 1);
tabbedPane.setTitleAt(count - 1, "tab" + count);
tabbedPane.setSelectedComponent(newTab);
}
}
});
this.add(tabbedPane, BorderLayout.CENTER);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.pack();
this.setMinimumSize(new Dimension(300, 300));
this.setVisible(true);
}
public static void main(String[] args) {
new AddTabButtonDemo();
}
}
Run Code Online (Sandbox Code Playgroud)