我很抱歉,因为我相信这个问题已经被提出过了,但是没有一个答案能真正帮助我。 我有一个带gui的类,它包含一个带有几个文本字段和按钮的JFrame。这是主要的()我试图开始工作:
Gui interface1 = new Gui();
interface1.setSize(200,200);
interface1.setVisible(true);
//hold main execution
//wait for the pressed button in gui
//close the jframe
//proceed with main()
call_some_functions();
我尝试将默认关闭操作设置为HIDE_ON_CLOSE,但这似乎不是我想要的。我使用框架,我需要main()很长一段时间才能活着。 基本上,我需要jframe在用户输入和更新参数的时候保持main(),然后关闭自己而不终止进程并继续使用main(),好像什么都没发生一样。 提前感谢您的帮助。
答案 0 :(得分:5)
答案 1 :(得分:0)
使用:
frame.setDefaultCloseOperation(frame.HIDE_ON_CLOSE);
EG:
import javax.swing.JFrame;
import javax.swing.JTextField;
public class TestFrame {
public static void main(String aa[])
{JFrame frame =new JFrame();
JTextField field=new JTextField("hello buddy..nuthin happnd");
frame.setDefaultCloseOperation(frame.HIDE_ON_CLOSE);
frame.add(field);
frame.pack();
frame.setVisible(true);
}
根据您的需要更新:
import javax.swing.JFrame;
import javax.swing.JTextField;
public class TestFrame {
public static void main(String aa[])
{
JFrame frame =new JFrame();
JTextField field=new JTextField("hello buddy..nuthin happnd");
frame.setDefaultCloseOperation(frame.HIDE_ON_CLOSE);
frame.add(field);
frame.pack();
frame.setVisible(true);
frame. addComponentListener(new java.awt.event.ComponentAdapter() {
public void componentHidden(java.awt.event.ComponentEvent evt) {
formComponentHidden(evt);
}
});
}
private static void formComponentHidden(java.awt.event.ComponentEvent evt) {
somefunction();
}
public static void somefunction()
{
System.out.println("hii!! i am hidden!!");
}
}