如何阻止方法启动直到JFrame关闭

时间:2016-03-21 02:42:48

标签: java swing jframe joptionpane

我正在使用JFrame和JOption窗格,我的main方法的开头如下所示:

public static void main(String[] args) {
   welcomeScreen();
   int input = getInput();

其中welcomeScreen调用扩展JFrame的对象,getInput使用JOptionPane,如下所示:

String s = "blah blah"
String data = JOptionPane.showInputDialog(s);
return data;

当你运行程序时,JOption窗格和JFrame同时打开,但我只想要在main方法中首先调用的JFrame打开,我希望在通过JButton实现关闭JFrame后打开JOptionPane actionListener:

public class close implements ActionListener {

    public void actionPerformed(ActionEvent aL) {
      System.exit(0);
    }
  }

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以向框架添加WindowListener,因此当它检测到关闭框架的操作时,它将运行您在重写的windowClosing()方法中实现的代码。你可以这样做:

frame.addWindowListener(new WindowAdapter() {
    @Override
    public void windowClosing(WindowEvent e) {
        frame.dispose();
        JOptionPane.showInputDialog("your message");
    }
});