如何关闭自动创建的java框架

时间:2014-03-30 21:14:00

标签: java frame

我使用了NteBeans的GUI制作工具。 它创造了一个框架。 我想用一个按钮关闭这个框架。 我知道我需要使用“my_frame_name.dispose();”关闭一个框架。 但问题是我无法在“源”选项卡中找到框架的名称。 我想这是因为,NetBeans自动创建了这个框架及其代码。

有人可以告诉我如何使用代码或函数关闭此框架吗?

请不要告诉我,我必须重新编码所有内容,因为我有多个框架,如tis one,并且没有时间的奢侈。

1 个答案:

答案 0 :(得分:0)

你也可以试试这个

此处的程序正在使用container.getParent()方法查找最高JFrame

public static void main(String[] a) {
    JFrame frame = new JFrame();

    JPanel p = new JPanel();
    final JButton btn = new JButton("close");
    btn.addActionListener(new ActionListener() {

        @Override
        public void actionPerformed(ActionEvent e) {
            Container parent = btn;
            while ((parent = parent.getParent()) != null) {
                System.out.println(parent.getClass().getName());
                if (parent instanceof JFrame) {
                    ((JFrame) parent).setVisible(false);
                } else {
                    parent = parent.getParent();
                }
            }
        }
    });
    p.add(btn);

    frame.getContentPane().add(p);

    frame.pack();
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}