2015-01-29 3 views
-3

У меня проблема с пониманием того, как ActionListener используется в следующем коде и что такое метод addWindowListener, выполняемый в коде ниже:Как действие в JButton вызывается в этом коде?

любезно помогите мне с ним.

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."); 
                 } 
                 }  
    } 
+1

Добавьте «учебник» к каждому из «jbutton actionlistener windowlistener» отдельно в своей любимой поисковой системе, и это должно ответить на ваши вопросы. –

+1

@ Андрю Томпсон: точно .. Я полагаю, этот форум для сложных случаев, которые вы не можете найти где-то в документации, но НЕ для основных вопросов. Многие люди ленивы, и более удобно спамить некоторые форумы. – Michal

ответ

1
  • При нажатии на кнопке ОК, ваш метод actionPerformed будет вызван как вы зарегистрированный обратным вызов на кнопке ОК, как okButton.addActionListener(new CustomActionListener());
  • Когда вы закрываете трепетно ​​окно с правой верхней кнопкой «X», программа выйдет с кодом возврата 0, и это то, что делает ваш слушатель окна в методе windowClosing.
+0

спасибо за ответ, но я не могу понять, что такое System.exit (0); в методе windowClosing. любезно помогите мне .. – coool

+0

См. [это] (http://docs.oracle.com/javase/7/docs/api/java/lang/System.html#exit (int)). Он завершит ваш Java-процесс с возвратом status 0. – SMA

+0

спасибо, я понял. – coool