我有一个表单供用户填写JFrame,然后将收集的数据写入不同类中的JTable。
我正在尝试配置它,当用户选择“提交”时JFrame将关闭,但不关闭程序。我需要达到的命令是什么?
提交按钮的代码如下:
JButton bMark = new JButton("Submit");
bMark.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
String start = tbStart.getText();
String end = tbEnd.getText();
String[] marking = {start, end, active, body, dysk, trem, brady};
//This is just for me to ensure the collected data is correct
System.out.println(marking[0] + " " +marking[1] + " " +marking[2] + " " +
marking[3] + " " + marking[4] + " " + marking[5] + " " + marking[6]);
//This is is the class the form data is being sent to
markTable.main(marking);
//This is where I would like the close the current window
}
});
bMark.setBounds(308, 191, 86, 23);
类名是createMark,方法是public createMark
感谢任何回复者,
贾里德。
答案 0 :(得分:4)
//这是我想要关闭当前窗口的地方
有这些方法
JFrame#setVisible(false)
,但不终止当前的JVM,此会话一直存在,直到PC重新启动,
JFrame#dispose()
终止当前的JVM,
System#exit(int);
终止当前的JVM,
更好的是JFrame#setDefaultCloseOperation
不要简单地JOptionPane,也许会更好地直接使用
答案 1 :(得分:2)
您需要在JFrame上设置default close operation:
frame.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);
这将处理用户使用标题栏关闭窗口或点击Alt + F4之类的情况。
接下来,只需在按下提交按钮时调用setVisible(false)
。