我有一个JFrame
,上面有一些组件。我希望当我点击特殊按钮例如exit button
时,框架会消失。
我在退出按钮
中编写了此代码this.setvisible(false);
但它只隐藏了组件,框架不会消失。
单击exit button
框架消失后,我该怎么办?
答案 0 :(得分:3)
以下是隐藏框架的按钮示例:
final JFrame frame = new JFrame();
frame.setDefaultCloseOperation(DISPOSE_ON_CLOSE);
final JButton hideButton = new JButton("hide frame");
frame.add(hideButton);
hideButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
frame.setVisible(false);
}
});
frame.setVisible(true);
frame.pack();
答案 1 :(得分:2)
在通话this.setVisible(false)
中,this
可能是指按钮而不是框架。
你需要在Frame而不是Button上调用setVisible()。
还要确保在框架上调用dispose()来清理所有资源。
此外,您还应该使用
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
在创建框架期间,确保在用户单击右上角(在Windows上)的“标准”关闭按钮时正确关闭和处理窗口。
本教程还可以帮助您更好地了解正在发生的事情:
http://download.oracle.com/javase/tutorial/uiswing/components/frame.html
答案 2 :(得分:0)
在JFrame对象上调用它。
例:
// when exit is pressed
fr.setVisible(false); // fr is a reference to object of type JFrame
`