使JFrame像对话框一样

时间:2012-05-30 10:58:26

标签: java swing jframe jbutton

我有一个表单供用户填写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

感谢任何回复者,

贾里德。

2 个答案:

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