我有一个JFrame
与它的一些组件。我希望框架消失,当我点击一个特殊的按钮,例如exit button
。问题与setVisible(布尔值)
我在退出按钮
this.setvisible(false);
写了这个代码,但它只是隐藏在它的组件和框架不会消失。
我可以做什么,当我点击exit button
框架消失?
我有一个JFrame
与它的一些组件。我希望框架消失,当我点击一个特殊的按钮,例如exit button
。问题与setVisible(布尔值)
我在退出按钮
this.setvisible(false);
写了这个代码,但它只是隐藏在它的组件和框架不会消失。
我可以做什么,当我点击exit button
框架消失?
在您的通话this.setVisible(false)
,this
大概是指按钮,而不是框架。
您需要在Frame上调用setVisible()而不是按钮。
另外请确保您在框架上调用dispose()以清理所有资源。
此外,您也应该使用
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
创建框架的过程中,以确保窗口正确关闭并设置当用户单击右上角的“标准”关闭按钮(在Windows )。
本教程还可以帮助你了解这是怎么回事更好:
http://download.oracle.com/javase/tutorial/uiswing/components/frame.html
这里是一个隐藏帧按钮的例子:
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();
我想这样.... – 2011-03-27 08:44:47
调用它的JFrame对象。 例如: // when exit is pressed
fr.setVisible(false); // fr is a reference to object of type JFrame
`
请出示相关的代码。我想'this'是指JButton而不是JFrame。 – Howard 2011-03-27 08:28:40
好吧,setvisible不会退出程序。 – 2011-03-27 08:38:51
@experimentX - 您可以在应用程序中使用多个JFrame,并且其中一些可以隐藏一段时间。 – 2011-03-27 08:43:38