在此代码中如何调用 JButton 上的操作?

How is action on JButton being invoked in this code?

我无法理解以下代码中如何使用 actionListener 以及以下代码中的 addWindowListener 方法的作用:

请帮助我。

public class SwingListenerDemo {
  private JFrame mainFrame;
  private JLabel statusLabel;

  public SwingListenerDemo(){
    prepareGUI();           }

  public static void main(String[] args){
   SwingListenerDemo  swingListenerDemo = new SwingListenerDemo();  
   swingListenerDemo.showActionListenerDemo();}

   private void prepareGUI(){
     mainFrame = new JFrame("Java SWING Examples");
     mainFrame.addWindowListener(new WindowAdapter() {
     public void windowClosing(WindowEvent windowEvent){
        System.exit(0);
     }        
  });    

    mainFrame.setVisible(true);  
  }

   private void showActionListenerDemo(){

      JButton okButton = new JButton("OK");

    okButton.addActionListener(new CustomActionListener());        
    mainFrame.add(okButton);

    mainFrame.setVisible(true);         }

   class CustomActionListener implements ActionListener{
           public void actionPerformed(ActionEvent e) {
             statusLabel.setText("Ok Button Clicked.");
                                                      }
                                                       }    
    }
  • 当您单击确定按钮时,您的 actionPerformed 方法将被调用,因为您将确定按钮上的回调注册为 okButton.addActionListener(new CustomActionListener());
  • 当您从右上角 'X' 按钮关闭您的 window 机翼时,您的程序将以 return 代码 0 退出,这就是您的 window 侦听器用 windowClosing 方法做。