我使用了NteBeans的GUI制作工具。 它创造了一个框架。 我想用一个按钮关闭这个框架。 我知道我需要使用“my_frame_name.dispose();”关闭一个框架。 但问题是我无法在“源”选项卡中找到框架的名称。 我想这是因为,NetBeans自动创建了这个框架及其代码。
有人可以告诉我如何使用代码或函数关闭此框架吗?
请不要告诉我,我必须重新编码所有内容,因为我有多个框架,如tis one,并且没有时间的奢侈。
答案 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);
}