Toon posts:

JAVA - 1 ButtonHandler voor meerdere buttons

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb op een applet meerdere knoppen staan.
Door middel van een interne ButtonHandler class worden de verschillende knopdrukken afgehandeld.

De (interne) ButtonHandler class ziet er als volgt uit:

Java:
1
2
3
4
5
6
7
8
9
  class ButtonHandler implements ActionListener {
    public void actionPerformed( ActionEvent e ) {

      if (e.getActionCommand().equals(button1.getLabel())) {
        text.setFont( helveticaPlain );
        text.setText( button1.getLabel() );
      }
      else if ... (voor button2 etc..)
      }


Zoals je ziet vergelijk ik nu met een akelige "if/elseif/elseif ... etc" of 1 vd buttonlabels matched met de command name van het action event.

Ik vroeg me af of het mogelijk is om op een elegantere manier erachter te komen welk knopje ik indruk, en dan dmv een switch (of kan het nog mooier?) gerelateerde code uit te laten voeren? :?

  • Woy
  • Registratie: April 2000
  • Niet online

Woy

Moderator Devschuur®
Waarom maak je niet gebruik van meerdere ActionListeners of van Actions?

“Build a man a fire, and he'll be warm for a day. Set a man on fire, and he'll be warm for the rest of his life.”


  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Een switch is niet veel mooier dan een if /else structuur.

Je zou aan elke button een andere listener kunnen hangen maar dat vind ik ook niet mooi.
Wat ik meestal doe is een if else structuur maken en dan methodes aanroepen.

Dus dit:
code:
1
2
text.setFont( helveticaPlain );
text.setText( button1.getLabel() );

zet je dan in een method en die roep je aan. Is in ieder geval een stuk overzichtelijker.