Portal > Foren > Java > Desktop-Applikationen und Grafik > Buttons.ActionListener Button erkennen ohne .getActionCommand
Antwort
 
Themen-Optionen Thema durchsuchen
Alt 19.04.2005, 00:40 Nach oben    #1
Sesselkleber
 
Benutzerbild von sparrow
 
Registriert seit: 17.01.2005
Beiträge: 581
Standard Buttons.ActionListener Button erkennen ohne .getActionCommand

Folgendes Problem:

ich habe ein Applet das Buttons anzeigt.

normalerweise mache ich das immer so, dass ich in die Klasse in der ich die Buttons anzeige den ActionListener gleich mit implementiere, und hole mir dann die Aufschrift des Buttons um darauf zu reagieren mit .getActionCommand()

Nun habe ich aber 7 Buttons auf einer Seite, und alle haben nur + als Aufschrift. Wie gehe ich am besten vor?
Ich habe erst überlegt ob ich eine innere Klasse mit einem ActionListener anlege, aber die Buttons müssen Werte in der Klasse in der sie eingebettet verändern können, und das können innere Klassen ja nicht.

Weiß jemand Rat wie ich vorgehen soll?

Danke im Voraus
Sparrow
sparrow ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.04.2005, 08:11 Nach oben    #2
Erfahrener Benutzer
 
Benutzerbild von peschmae
 
Registriert seit: 29.05.2004
Beiträge: 228
Standard

Der ActionListener kann ja eine Methode deiner Klasse aufrufen, oder? Dann sollte das doch gehen.

MfG Peschmä
__________________
Amazon.de | The Java Trap | Freie Software | Freie Software vs. Open Source | GNU Classpath | GCJ | SableVM
"We should forget about small efficiencies, say about 97% of the time: Premature optimization is the root of all evil." - Donald Knuth
peschmae ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.04.2005, 09:22 Nach oben    #3
Sesselkleber
 
Benutzerbild von sparrow
 
Registriert seit: 17.01.2005
Beiträge: 581
Standard

Du meinst die innere Klasse eine Methode der äußeren Klasse?
das geht?
Dann werde ich das heute Abend gleich mal ausprobieren!

Danke
Sparrow
sparrow ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.04.2005, 09:24 Nach oben    #4
`B
Benutzer
 
Benutzerbild von `B
 
Registriert seit: 05.07.2004
Beiträge: 95
Standard

zur Not kannst du es auch so Lösen das du eine Klasse Button2 erzeugst.

Code:
public class Button2 extends Button {
 private String zName = null;

 public Button2 (String pAufschrift, String pName) {
  super(pAufschrift);
  zName = pName;
 }
}
und die hat dann halt noch eine zusatz funktion:

Code:
public String holeName() {
 return zName;
}
Ist keine so wirklich feine Lösung aber hilft einem über die Runden.

Liebe Grüße

Florian
__________________
`B ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 19.04.2005, 09:51 Nach oben    #5
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.129
Standard

Alternativ kannst du auch setActionCommand verwenden... das Ding ist zwar etwas seltsam in der Anwendung, aber ich glaube es funktioniert (d.h. überschreibt den Label nicht).

Alternativen:
- putClientProperty
- setName
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.04.2005, 06:05 Nach oben    #6
Erfahrener Benutzer
 
Registriert seit: 16.11.2005
Beiträge: 242
Standard

warum versuchts du die Buttons anhand Ihres Labels zu erkennen und nicht über den instanz Namen? Der ist ja immer anders und eindeutig.
nove ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.04.2005, 09:04 Nach oben    #7
Sesselkleber
 
Benutzerbild von sparrow
 
Registriert seit: 17.01.2005
Beiträge: 581
Standard

hmmm..
wie komme ich denn an den Namen der Instanz?
Also irgendwie muss ich ja von dem event zum instanznamen kommen, und ich hab schon einiges probiert.

Gruß
Sparrow
sparrow ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.04.2005, 09:50 Nach oben    #8
Projektleiter
 
Registriert seit: 30.11.2005
Ort: Bottrop
Beiträge: 1.129
Standard

setName...

Als Alternative: Wenn du die Buttons speicherst kannst du auch mit "==" arbeiten.
__________________
Patrick Gotthardts Weblog.
pago ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 20.04.2005, 13:33 Nach oben    #9
`B
Benutzer
 
Benutzerbild von `B
 
Registriert seit: 05.07.2004
Beiträge: 95
Standard

kann man net auch mit hashCode arbeiten? ist nur so ne Idee ...
__________________
`B ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 21.04.2005, 05:45 Nach oben    #10
Erfahrener Benutzer
 
Registriert seit: 16.11.2005
Beiträge: 242
Standard

ja irgendwo machst du ja was in der art:
mybutton = new JButton();

und dann noch irgendwo:

mybutton.addActionListener(new ActionListener(){
public void actionPerfomed(ActionEvent ev){
mybuttonActionPerformed(ev);
}
});

und irgendwo steht dann noch deine Methode:

private void mybuttonActionPerformed(evt){
und hier passiert dann irgendwas;
}
nove ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Alt 21.04.2005, 08:53 Nach oben    #11
Sesselkleber
 
Benutzerbild von sparrow
 
Registriert seit: 17.01.2005
Beiträge: 581
Standard

@ nove
Genau so habe ich es jetzt auch gelöst.
Ist zwar etwas unschön weil öhm... für jeden Button eine Klasse erstellt werden muss und es sind etwas mehr als 32 bisher
Aber mit ein paar netten Schleifen und aufteilung in weitere Klassen sieht es wenigstens ein bisschen übersichtlich aus.

Gruß
Sparrow
sparrow ist offline  
Diesen Beitrag zu to del.icio.us hinzufügen!Diesen Beitrag zu Technorati hinzufügen!Diesen Beitrag zu Mister Wong hinzufügen!
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
PingBacks sind an
RefBacks sind aus

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JTabbedPane und Button Events TheSentinel Desktop-Applikationen und Grafik 3 24.10.2006 20:35
Vokabeltrainer asenodin Allgemeine Java-Programmierung 9 28.05.2006 21:04
Button hat Standard-L&F wenn er außerhalb von Methoden deklariert wird Corvin Allgemeine Java-Programmierung 11 17.02.2006 14:55
Button mit Enter bestätigen Eru Desktop-Applikationen und Grafik 6 29.12.2005 22:22
Button Problem... RooKee Desktop-Applikationen und Grafik 3 27.10.2004 13:13


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:37 Uhr.


Powered by vBulletin® Version 3.7.4 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45