2010-06-25 16 views

risposta

6

Il metodo addActionListener accetta l'oggetto di classe corrente come parametro. La parola chiave "this" significa semplicemente "questo oggetto sto lavorando proprio ora". Se si utilizza netbeans, è possibile digitare "this" e inserire un punto dopo di esso per visualizzare tutti i metodi definiti nella classe "this". Dovrebbe elencare tutti i metodi definiti nella classe, inclusi eventuali metodi ereditati.

Per comprendere appieno cosa significa "questo", è necessario innanzitutto comprendere la relazione tra classi e oggetti.

Se si desidera essere tecnici a riguardo, "questo" è un riferimento all'oggetto corrente.

0

Se look at the tutorial poi si vedrà ...

Per scrivere un action listener, seguire i passi indicati di seguito:
Dichiarare una classe di gestore di eventi e specificare che la classe sia implementa un'interfaccia ActionListener o si estende un classe che implementa un'interfaccia ActionListener.
Per esempio:

public class MyClass implements ActionListener { 

registrare un'istanza della classe gestore di eventi come un ascoltatore in uno o più componenti.
Per esempio:

someComponent.addActionListener(instanceOfMyClass); 

includere il codice che implementa i metodi di interfaccia ascoltatore.
Per esempio:

public void actionPerformed(ActionEvent e) { 
     ...//code that reacts to the action... 
    } 

Il presente rappresenta un attuata e un'istanza ActionListener, che risulta essere la vostra classe. Si potrebbe benissimo passare qualsiasi classe che implementa l'interfaccia ActionListener.

In questo modo quando un pulsante viene premuto il tuo metodo actionPerformed sarà chiamato

2

"questo" sta per l'istanza della classe corrente che si trovano all'interno.

Funzionerà finché la classe implementa l'interfaccia ActionListener.

È possibile utilizzare un oggetto completamente diverso, se lo si desidera, ad es. la creazione di una classe interna anonima che implementa l'interfaccia ActionListener:

button.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent e) { 
      System.out.println("Hello!!!"); 
     } 
    }); 

Questo è utile se si desidera avere più ascoltatori di azione diversi, ma non si vuole creare classi separate per ciascuno.