如何在选项卡JTabbedPane中添加关闭按钮

时间:2016-07-26 05:30:18

标签: java swing tabs jbutton jtabbedpane

我正在使用JTabbedPane,我想在标签上添加一个关闭按钮。

我创建了一个JButton,其中一个:ActionListener,当你单击时,这将删除选项卡逐个打开。

另外,我创建了一个JTabbedPane ......

//Tabbed.
JTabbedPane Tabbedr = new JTabbedPane();
File F = new File("HTML1.html");
Frame.getContentPane().add(Tabbedr);
Tabbedr.addTab(F.getName());

//Button.
JButton Close = new JButton();
Close.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent a){
Tabbedr.remove(1);}});

所以,这里很好,但我不知道如何将JButton“Close”添加到我的标签中。和一些着名的编辑一样,

要测试按钮,我将其添加到一个工具栏,但我想将其放入选项卡中。示例:您好,txt“X”。

有人可以帮帮我吗?感谢您的阅读和时间。

1 个答案:

答案 0 :(得分:1)

public class CustomTabbedPane extends JTabbedPane {

    public CustomTabbedPane() {

        // Add panel to tab screen
        JPanel tab1Panel = new JPanel();
        addTab(null, null, tab1Panel, "");

        // Add label and button to the tab name
        JPanel tab1 = new JPanel();
        temp.add(new JLabel("Tab Name"));
        temp.add(new JButton("x"));
        setTabComponentAt(0, tab1);
    }
}

当然,您需要将一个ActionListener添加到JButton并进行配置,以便按下按钮时选项卡消失。

为了让它看起来不错,我建议你摆脱JButton的边缘,

button.setMargin(new Insets(0, 0, 0, 0))

删除边框,

button.setBorder(BorderFactory.createEmptyBorder());

并将tab1 JPanel设置为" null"布局手动放置" x"按钮和标签。