Event - Händler

Event und Listener

by Dr. M. Halfpap

Zurück zur Hauptseite

Beispiel für das Eventhandling :

Benötigt wird import java.awt.event.*;, dann kann man unten folgende Aufpasser einbauen. Da es sich um Interfaces handelt, müssen alle Methoden der Interfaces noch einmal implementiert werden - und sei es mit leerem Rumpf.

In den Rumpf gehört sonst i.a. ein Methodenaufruf.

Möglich ist auch der Einbau über implements xxxListener, yyyListener;



    bu.addActionListener (new ActionListener () {      /* für LIST, BUTTON,
                                                          MENUITEM, TEXTFIELD */
      public void actionPerformed (ActionEvent a) {
        buActionPerformed (a);}
    });

    tf.addFocusListener(new FocusListener() {
      public void focusGained(FocusEvent f) {}
      public void focusLost(FocusEvent f) {}
    });

    addMouseMotionListener(new MouseMotionListener(){
      public void mouseMoved (MouseEvent m) { }
      public void mouseDragged (MouseEvent m) {mausZug (m);}
    });

    addMouseListener(new MouseListener(){
      public void mousePressed (MouseEvent m) {merkePlatz(m); }
      public void mouseReleased (MouseEvent m) { }
      public void mouseEntered (MouseEvent m) { }
      public void mouseExited (MouseEvent m) { }
      public void mouseClicked (MouseEvent m) { }
    });

    tf.addKeyListener(new KeyListener() {
      public void keyTyped (KeyEvent k) { }
      public void keyPressed (KeyEvent k) { }
      public void keyReleased (KeyEvent k) { }
    });

    cb.addItemListener(new ItemListener() {    /* für Checkbox, CheckboxMenuItem
                                                  Choice und List */
      public void itemStateChanged (ItemEvent i) { bu.setLabel("Hallo"); }
    });


Eingebaut wird ein Listener ( Mouse, Item, Window, Action, Focus oder Key ), der alle Aktionen überwacht : actionPerformed reagiert allgemein auf alle vollendeten Events bei Komponenten; focusGained wird ausgeführt, wenn die Komponente den Fokus erhalten hat; entsprechend focusLost bei Fokusverlust; keyPressed wird bei Tastendruck ausgeführt.

Den Fokus kann man allgemein auch mit xx.requestFocus(); setzen.