Java - 关闭 JFrame 窗口时的消息

2022-01-24 00:00:00 window java swing jframe

I have a Java Program containing a class Application inheriting from JFrame.

I want to display a message which asks the user if he wants to exit the program upon clicking the X button at the top right of the window.

This is my code so far:

I got this code from a tutorial I found online. I coded the WindowClosing event handler myself. However, I have trouble registering the window listener (addWindowListener). It is telling me that WindowAdapter is abstract and cannot be instantiated.

How can I solve this problem please?

解决方案

Basically, you got it almost correct. There are a few things not put together correctly and a typo.

First remove your WindowClosing method (it's window, not Window) Then replace your addWindowListener(new WindowAdapter()); with the code below

addWindowListener(new WindowAdapter() {
  public void windowClosing(WindowEvent e) {
    int confirmed = JOptionPane.showConfirmDialog(null, 
        "Are you sure you want to exit the program?", "Exit Program Message Box",
        JOptionPane.YES_NO_OPTION);

    if (confirmed == JOptionPane.YES_OPTION) {
      dispose();
    }
  }
});

相关文章