setVisible问题(布尔值)

时间:2011-03-27 08:26:33

标签: java swing visibility

我有一个JFrame,上面有一些组件。我希望当我点击特殊按钮例如exit button时,框架会消失。

我在退出按钮

中编写了此代码
this.setvisible(false);

但它只隐藏了组件,框架不会消失。

单击exit button框架消失后,我该怎么办?

3 个答案:

答案 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`