Zum Inhalt springen

Kleines Button/Listener Problem


shad0w

Empfohlene Beiträge

Hi,

ich hab hier grad ein verstaendniss problem ... :(

ich hab ne hauptklasse, in der gibt es 2 'Speichern' buttons.

Und ne klasse mit nem ActionListener fuer die buttons.

Momentan hab ich das so geloest, dass ich den Text und den ToolTipText ueberpruefe ... leider hat 'n kollege die tooltips geaendert und ich ne halbe stunde gesucht, bis ich das gefunden hatte ... :(

die methode getName oder getSource liefert mir aber auch keien eindeutige identifizierung der buttons ...

wie kann man das besser realisieren??

danke

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hi!

Du könntest entweder jedem Button eine eigene Klickmethode zuweisen oder du gibts EINER Methode eine ID als Parameter mit

Beispiel:


 int butt1_ID = 1;

 butt1.addActionListener(new ActionListener() {

          public void actionPerformed(ActionEvent e) {

               MyButtonMethod(butt1_ID);

          }

 });

Wobei "MyButtonMethod" anhand der IDs eben überprüft welcher Button gedrückt wurde und für den halt seine Aktionen durchgeführt werden!

Gruß

Azrael

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von -leliel-

die methode getSource liefert mir aber auch keien eindeutige identifizierung der buttons

Wieso nicht? Hast du die equals Methode der Buttons überschrieben?

Die beiden Buttons sind doch unterschiedliche Objekte.

Also kannst du mit getSource().equals(button1) oder getSource().equals(button2) doch herausfinden ob der eine oder der andere Button gedrückt wurde. Unabhängig von Beschriftung, Tooltip oder was weiss ich.

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also normalerweise ordnet man den Buttons über die Methode setActionCommand einen eindeutigen Namen zu.

In der actionPerformed-Methode bekommt man über das ActionEvent-Objekt (Methode getActionCommand) wieder den Namen des betätigten Buttons raus - man braucht also nicht für jeden Button einen eigenen Listener...

Aber auch wenn Ihr die Button über die Texte oder Tooltips identifiziert, sollte es ohne Probleme auch nach Änderungen funktionieren. Ihr dürft nur nicht die Texte immer neu schreiben sondern entweder in Konstanten ablegen oder (viel besser) die Texte in Property-Files ablegen. Dadurch würde Eure Anwendung auch gleich internationalisiert sein....

Gruß

Snowghost

Link zu diesem Kommentar
Auf anderen Seiten teilen

Original geschrieben von Snowghost

getActionCommand

imho brauche ich die nur, wenn sich zwischendurch das ActionCommand ändert. Wenn der Button immer das gleiche auslöst, reicht es mir, mit getSource() zu arbeiten.

Das kann natürlich jeder so halten wie er lustig ist. ;)

Gruß Jaraz

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...