繁体   English   中英

在Java中的Java选项卡式窗格中添加按钮组件

[英]Adding a button component to a java tabbed pane in java

我正在尝试使用Java swings创建GUI。我只是Java swings的初学者。 我的主要想法是创建两个选项卡,并在其中一个选项卡中添加一个按钮。

我想为每个选项卡编写一个单独的类,因此我创建了3个类,其中一个具有main方法。另外两个代表选项卡。

在其中一个标签中,我想在中间添加一个按钮,然后向该按钮添加一个动作监听器。

下面是具有main方法的类。

public class abc {
    JFrame frame;
    JTabbedPane tabPane;
    ImageIcon close;
    Dimension size;
    int tabCounter = 0;
    abc_export exp;
    abc_import imp;
    public static void main(String[] args) {
        abc jtab = new abc();
        jtab.start();
    }
    public void start(){
    exp=new abc_export();
    imp=new abc_import();
    tabPane.addTab(null, exp.panel);
    tabPane.addTab(null, imp.panel);
    tabPane.setTabComponentAt(tabPane.getTabCount()-1, exp.tab);
    tabPane.setTabComponentAt(tabPane.getTabCount()-1, imp.tab);
    }

    public abc() {
        //  Create a frame
        frame = new JFrame();
        //  Create the tabbed pane.
        tabPane = new JTabbedPane();
        //  Create a button to add a tab
        //  Create an image icon to use as a close button
        close = new ImageIcon("C:/JAVAJAZZUP/tabClose.gif");
        size = new Dimension(close.getIconWidth()+1, close.getIconHeight()+1);
        //Adding into frame
        frame.add(tabPane, BorderLayout.CENTER);
        frame.setSize(300, 300);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
        }

};

以下是其中一个标签的代码。尽管另一个标签也具有相同的代码,这些代码代表具有不同类名的其他标签。

public class abc_import {
    ImageIcon close;
    Dimension size;
    int tabCounter = 0;
    JPanel tab;
    final JPanel panel;
    public abc_import() {
        close = new ImageIcon("C:/JAVAJAZZUP/tabClose.gif");
        size = new Dimension(close.getIconWidth()+1, close.getIconHeight()+1);
        //Adding into frame
        JLabel label = null;
        panel = new JPanel();
        //  Create a panel to represent the tab
        tab = new JPanel();
        tab.setOpaque(false);
        String str = "abc_import";
        label = new JLabel(str);
        tab.add(label, BorderLayout.WEST);
        }
};

正如预期的那样,两个选项卡均已创建。但是我不了解在其中一个选项卡中添加按钮的想法。

现在我的问题是,是否要像我已经说过的那样在其中一个选项卡中添加按钮。我需要做什么?有人可以帮助我吗?

我不确定我是否理解您的意图,但是您可以尝试TabComponentsDemo显示的方法,该方法已在如何使用选项卡式窗格:带有自定义组件的选项卡中进行了讨论。

这里显示一个相关示例。

您可以尝试使用setTabComponentAt方法。

该方法具有参数setTabComponentAt(int index, Component component) ,在其中仅提及所需的组件。

您可以在此处引用链接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM