如何在Java中动态地将JPanel对象添加到JFrame对象?

时间:2014-10-03 19:48:27

标签: java swing dynamic jpanel

我正在构建一个GUI应用程序,它应该在通过单击JButton生成事件时动态地将面板添加到单个帧中。如果我们按下“n”按钮,应该添加相同的面板“n”次,添加面板应该没有任何限制。试图通过调用butoon的事件方法中的构造函数再次运行相同的代码,但面板只添加一次。请帮帮我,我做了很多关于此的搜索,但无法提出正确的解决方案。

如下面的代码所示,我希望在面板1的按钮被动态推动“n”次时添加面板。

提前致谢。

*

public class SuperTimer extends JFrame
    {
   JButton addTimer;
   JPanel panel;
    public SuperTimer()
        {
    panel = new JPanel(new GridBagLayout());
            JPanel panel1 = new JPanel(new GridBagLayout());
    GridBagConstraints c = new GridBagConstraints();
            c.weightx=0.5;
            c.weighty=0.5;
            c.gridx=1;
            c.gridy =1;
            c.insets= new Insets(10, 10, 10, 10);
            addTimer = new JButton("Add Timer");
            panel1.add(addTimer,c);
            AddTimer at = new AddTimer();
            addTimer.addActionListener(at);
    getContentPane().add(panel1,BorderLayout.NORTH);
    getContentPane().add(panel,BorderLayout.CENTER);
    }
    public class AddTimer implements ActionListener
        {
            public void actionPerformed(ActionEvent h)
            {

                SuperTimer kt = new SuperTimer();
                panel.setVisible(true);
            }
        }
    }
*

*

public class Trigger {

    public static void main(String[] args) {
        SuperTimer st = new SuperTimer();
        st.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        st.setSize(500,500);

        st.setVisible(true);


    }

}  

0 个答案:

没有答案