shad0w Geschrieben 20. Mai 2003 Teilen Geschrieben 20. Mai 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
A.Z.R.A.E.L. Geschrieben 20. Mai 2003 Teilen Geschrieben 20. Mai 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
PerdianMG Geschrieben 20. Mai 2003 Teilen Geschrieben 20. Mai 2003 Also ich würde es immer mit Actions machen - dadurch entstehen zwar ein paar Klassen mehr, aber das ganze ist übersichtlicher und angenehmer. Ciao Christian Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 20. Mai 2003 Teilen Geschrieben 20. Mai 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
shad0w Geschrieben 21. Mai 2003 Autor Teilen Geschrieben 21. Mai 2003 @Jaraz: dann muesste ich doch aber die Buttons als public static deklarieren, oder? naja, beim naechsten mal werd ich fuer jeden button nen eigenen listener schreiben. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 21. Mai 2003 Teilen Geschrieben 21. Mai 2003 Original geschrieben von -leliel- @Jaraz: dann muesste ich doch aber die Buttons als public static deklarieren, oder? Nein. Gruß Jaraz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Snowghost Geschrieben 21. Mai 2003 Teilen Geschrieben 21. Mai 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Jaraz Geschrieben 21. Mai 2003 Teilen Geschrieben 21. Mai 2003 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 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Snowghost Geschrieben 21. Mai 2003 Teilen Geschrieben 21. Mai 2003 OK. getSource geht auch - aber da vergleicht man ganze Objekte miteinander. Ich finde es etwas besser, nur einen Namen zu vergleichen - hat auch beim debuggen Vorteile... Aber wie du sagtest - jeder, wie er es mag... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
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.