swing - JTabbedPane 上的 Firefox 'Open new tab'

标签 swing firefox jtabbedpane

我想在 JTabbedPane 的标题栏中添加一个按钮(类似于 Firefox 中的“打开新标签”(“+”)按钮) 我试图添加到 JTabbedPane 容器的玻璃 Pane 中。但由于我的选项卡 Pane 包含在 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();
}

}

关于swing - JTabbedPane 上的 Firefox 'Open new tab',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9786299/

相关文章:

javascript - ASCII 代码在 Firefox 中不起作用,但在 Chrome 上工作正常

css - 为什么我的 sprite 在 firefox 中不能正确显示?

css - Mozilla Firefox 内容 :url() failure

java - JTabbedPane 图像对齐

Java Swing 小程序 : How to slow or delay paint() without slowing down the entire program

java - 菜单系统可以工作但无法关闭

java - 如何通过单击按钮切换 jTabbedPane 中的选项卡?

Java JTabbedPane,如何从按钮中选择一个选项卡?

java - 在运行时添加项目后动态调整 JMenu 的大小

java - 刷新所有框架中的用户列表