carookee - group communication for you
Home / JavaForum / Beginner
Infos   |   Features   |   Gold-Edition   |   Kundenservice   
java
  Übersicht
  Forum
Beginner
Java allgemein
JDBC
JNI
Networking
Online-Ressourcen
Swing + AWT
XML
Meckerecke
  Mitglieder
LOGIN





· Passwort vergessen
· Kostenlos anmelden
  Information
  Demo
  Features
  Im Vergleich
  Anmeldung
SUCHE
Beiträge, Foren oder Verfasser finden:
  Kundenservice
  Impressum
  Datenschutz
  AGB
Status
3.937 User online
0 User eingeloggt
 

Beiträge
   Antworten     Neuer Beitrag    

Beitrag 297 von 2963 (10%) |<   <   >   >|

Autor m 3
Datum 28.11.01, 15:25
Betreff Re: eigene Listener-Klassen


Es gibt viele Wege nach Rom.
Es ist für die Performance ganz egal, ob Du nun 30 mal button.addActionListener( new MyActionListener() );
oder button.addActionListener( this ); verwendest.
Hast Du hingegen 30 ActionListener Klassen, brauchst Du keine if-Abfragen mehr, dass kann in einigen Fällen gut für die Performance sein.
Bei einem Taschenrechner hast Du doch einige verschiedene Arten von Buttons: Ziffern, Operationen und Kontrollbuttons (Clear, Undo... ). Warum nicht für jede dieser Arten eine ActionListener Klassen?
class NumberAction implements ActionListener {
    public void actionPerformed( ActioEvent ae ) {
        Object number = ae.getSource();
        if( number instanceof Integer ) {
            //Tu was
        }
        else {
            //war wohl nicht für mich bestimmt
        }
    }
}

class ControllAction ...

class OperationAction ...

NumberAction numberAction = new NumberAction();
buttonOne.addActionListener( numberAction );
buttonTwo.addActionListener( numberAction );
//...usw.
buttonZero.addActionListener( numberAction );
//...usw.
buttonClear.addControlAction( controlAction )


Kann ja sein, dass es bessere Lösungen gibt, aber sie ist erweiterbar, flexibel und auch wohl nicht viel länger als eine grosse if-Schleife.
Je Knopftyp halt eine Klasse und Instanz, "0" bis "9" teilen sich folglich eine Instanz.

m3


Diskussionsverlauf:
eigene Listener-Klassen
    Re: eigene Listener-Klassen
        Re: eigene Listener-Klassen
            Re: eigene Listener-Klassen
                Re: eigene Listener-Klassen
    Re: eigene Listener-Klassen
    Re: eigene Listener-Klassen
        Re: eigene Listener-Klassen
            Re: eigene Listener-Klassen

 Auf diesen Beitrag antworten
 Neuen Beitrag verfassen


|<   <   >   >|

                                                                                                                                                                                                                           

Impressum  · Datenschutz  · AGB  · Infos  · Presse
Ein modernes Forum: teamturn.com