Rechner und ActionListener

Status
Nicht offen für weitere Antworten.

kulturfenster

Bekanntes Mitglied
Hallo Forum,
Ich arbeite gerade an einem grafischen Rechner und hab nun eine Frage zu den ActionListenern:

Muss ich für jeden Button (mehr als 10) einen eigenen ActionListener schreiben oder kann ich irgendwie mit dem ActionEvent arbeiten? zB wäre es sehr praktisch, wenn ich den Titel des Buttons auslesen und verwenden könnte, denn jeder Button hat ja entweder eine Zahl oder einen Operator als Titel. also etwas in der Art:

Code:
String s = event.getSourceTitle();

In der API hab ich leider nix entsprechendes gefunden.

oder muss ich wirklich für jeden Button einen eigenen ActionListenern schreiben? :( Das würde den Code ja extrem unleserlich machen..

Vielen Dank für TIpps!
 

Ark

Top Contributor
Entweder du gibst jedem Button einen eigenen ActionListener (dann ist über die zugeordneten ActionListener klar, welcher Button gedrückt wurde) oder du gibst allen Buttons denselben ActionListener und unterscheidest dort anhand des ActionEvents e mit e.getSource().

Ark
 
G

Gelöschtes Mitglied 5909

Gast
Code:
if (e.getSource().equals(myButton)) {
   
}
 

Ark

Top Contributor
@raiL: Reicht es nicht auch, auf Identität zu prüfen? Also == statt equals()?

Ark
 
G

Gelöschtes Mitglied 5909

Gast
mh jo stimmt eigentlich, hab erst vor kurzem mit gui kram angefangen :D
 

kulturfenster

Bekanntes Mitglied
ah, da hab ich ja gut geraten mit e.getSourceTitle() anstelle von e.getSource().getText() :)

himmel, e.getSource muss man ja gut Suchen in der API..

Aber danke für die rasche Hilfe![/code]
 

Ark

Top Contributor
kulturfenster hat gesagt.:
ah, da hab ich ja gut geraten mit e.getSourceTitle() anstelle von e.getSource().getText() :)
Das ist wohl ein bisschen unsauber. Vergiss mal getText() und arbeite lieber mit den Referenzen:
Code:
public class MeineWunderGUI extends JFrame implements ActionListener{
    private JButton einButton;
    public MeineWunderGUI(){
        einButton=new JButton("Blubb");
        einButton.addActionListener(this);
    }

    public void actionPerformed(ActionEvent e){
        if(e.getSource()==einButton){
            // es wurde genau einButton gedrückt
        }
    }
}
Ark
 

kulturfenster

Bekanntes Mitglied
hab nun doch noch eine Frage:
wieso liefert
Code:
public void actionPerformed(ActionEvent event)
    {
  
      System.out.println(event.getSource().getText()); 
    }
nicht den Titel meines Buttons?

sondern ich bekomme folgende Fehlermeldung:
cannot find symbol
symbol: method getText();


Code:
 button.getText();
funktioniert tadellos.

Code:
 event.getSource()
liefert mir das Button-Objekt.

wo liegt mein Fehler?
 

Ark

Top Contributor
kulturfenster hat gesagt.:
Code:
 button.getText();
funktioniert tadellos.

Code:
 event.getSource()
liefert mir das Button-Objekt.

wo liegt mein Fehler?
getSource() liefert vermutlich nur einen allgemeineren Typ, den du noch auf den Typ JButton casten musst. Zum Erkennen des gedrückten Buttons solltest du trotzdem besser so vorgehen, wie ich beschrieb. Sonst musst du z.B. zweimal die Beschriftung eintragen. Und wenn du auf die Idee kommen solltest, die Oberfläche in Abhängigkeit von z.B. der aktuellen Systemsprache zu beschriften/gestalten, würde es ganz kompliziert. ;)

Ark
 

Murray

Top Contributor
kulturfenster hat gesagt.:
Code:
 event.getSource()
liefert mir das Button-Objekt.

wo liegt mein Fehler?

Zur Laufzeit liefert das den Button; der Compiler kann das aber nicht wissen und hält sich an die Methodendeklaration von getSource - und dort ist als Rückgabewert eben nur Object definiert. Du musst das Resultat noch explizit auf Button casten, damit der Compiler zufrieden ist.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
N BMI Rechner Was haltet ihr von dem Code habt ihr Verbesserungsvorschläge weil design teschnisch ist das nicht das geilste würde das gerne überarbeiten Java Basics - Anfänger-Themen 12
Renjiroo Java Bmi Rechner mit Methoden Java Basics - Anfänger-Themen 4
T BMI Rechner fehlerhaft Java Basics - Anfänger-Themen 18
D Primzahlen Rechner nach Eratostenes von Kyrene Algorithmus Java Basics - Anfänger-Themen 2
Animal-Mother BMI Rechner erstellen für W/M Java Basics - Anfänger-Themen 7
Alan6 Java Editor BMI Rechner Java Basics - Anfänger-Themen 7
Nerdinfekt BMI Rechner, fehler beim Zurückgeben des Strings? Java Basics - Anfänger-Themen 2
M Rechner programmieren Java Basics - Anfänger-Themen 3
Z BMI-Rechner Java Basics - Anfänger-Themen 1
F Trinkgeld Rechner und Promillenrechener Hilfe Java Basics - Anfänger-Themen 3
R java.lang.ArrayIndexOutOfBoundsException: 0 Rechner Error Java Basics - Anfänger-Themen 4
S Erste Schritte Java GUI - Rechner erstellen Java Basics - Anfänger-Themen 4
$ Multiplikations-Rechner mit while Schleife Java Basics - Anfänger-Themen 8
J double_Problem im ZinsesZins Rechner Java Basics - Anfänger-Themen 33
K (Taschen)Rechner Java Basics - Anfänger-Themen 8
M Abitur-Noten-Rechner Java Basics - Anfänger-Themen 2
G Welche Java-Version auf meinem Rechner? Java Basics - Anfänger-Themen 2
B Strategy Pattern - Rechner Java Basics - Anfänger-Themen 6
N Einfacher Rechner (für mich nicht so einfach) Java Basics - Anfänger-Themen 5
thet1983 rechner anfaengerfehler? Java Basics - Anfänger-Themen 10
B BMI Rechner Java Basics - Anfänger-Themen 2
H DriveByZero Exception - BMI-Rechner Java Basics - Anfänger-Themen 12
B Co2 rechner hilfe beim programmieren Java Basics - Anfänger-Themen 10
P Bitte um hilfe bei einfachem Rechner Java Basics - Anfänger-Themen 7
B Std-Serialisierung - Speichern/Laden geht nur auf einem Rechner Java Basics - Anfänger-Themen 17
C Rechner Java Basics - Anfänger-Themen 19
B Verbindung zu einen anderen Rechner Java Basics - Anfänger-Themen 2
N Datenaustausch zweier rechner Java Basics - Anfänger-Themen 4
M BMI-Rechner NumberFormatException Java Basics - Anfänger-Themen 30
Jats Kosinussatz-Rechner Java Basics - Anfänger-Themen 9
Haave Postfix-Rechner: mehrere math. Operationen nacheinander ausführen Java Basics - Anfänger-Themen 8
C Bmi rechner programmieren Java Basics - Anfänger-Themen 72
B JavaWebStart - Anwendung läuft nur auf einem Rechner Java Basics - Anfänger-Themen 6
P Einfacher Rechner Java Basics - Anfänger-Themen 2
P UPN Rechner Java Basics - Anfänger-Themen 1
F Upn-Rechner Java Basics - Anfänger-Themen 15
B mit Wecker den Rechner aus Standby/Ruhemodus holen Java Basics - Anfänger-Themen 19
R Jar Datei läuft auf neuem Rechner nicht mehr Java Basics - Anfänger-Themen 15
Developer_X Applet auf lokalem Rechner mit der EingabeAufforderung Starten Java Basics - Anfänger-Themen 44
S Was ist falsch an meinem Rechner? Java Basics - Anfänger-Themen 7
M externes Programm auf anderen Rechner ausführen lassen Java Basics - Anfänger-Themen 2
kulturfenster Wie implementiert man einen Rechner in Java? Java Basics - Anfänger-Themen 5
C DM -> Euro Rechner aber nur mit Operanden des Typs intege Java Basics - Anfänger-Themen 12
G Java Rechner Java Basics - Anfänger-Themen 10
G frage bluej für bmi rechner programmieren Java Basics - Anfänger-Themen 5
T Rechner-Name abfragen Java Basics - Anfänger-Themen 6
C Problem mit dem Rechner Java Basics - Anfänger-Themen 4
G Rechner aus ! Java Basics - Anfänger-Themen 5
M Exel-Rechner in Java ausgeben Java Basics - Anfänger-Themen 13
N Java Rechner Java Basics - Anfänger-Themen 3
D Java Rechner und Einlesen Problem (mit hasNext) Java Basics - Anfänger-Themen 2
W Rechner von quadratzahlen ! fehler Java Basics - Anfänger-Themen 4
P Rechner ^^ Java Basics - Anfänger-Themen 10
K BMI Rechner - wo ist der Fehler? Java Basics - Anfänger-Themen 4
D Rechner programmieren Java Basics - Anfänger-Themen 5
P Mediacenter Userinterface auf langsamem Rechner Java Basics - Anfänger-Themen 5
M Windows Projekt auf Linux Rechner Java Basics - Anfänger-Themen 2
B komische NumberFormatException beim DezimalToBinär-Rechner Java Basics - Anfänger-Themen 4
lan2711 Class Dateien auf anderen Rechner zum Laufen kriegen. Java Basics - Anfänger-Themen 5
P Program funktioniert nur bei Rechner die jdk haben Java Basics - Anfänger-Themen 4
rambozola jar-datei von cd auf rechner ohne jvm starten Java Basics - Anfänger-Themen 2
N SSH-Verbindung zu entferntem Rechner aufbauen Java Basics - Anfänger-Themen 5
L Class-Datei auf anderem Rechner Java Basics - Anfänger-Themen 9
H JDK 1.4.2 UND 1.1.8 auf gleichem Rechner Java Basics - Anfänger-Themen 15
X Programmstart auf anderem Rechner... Java Basics - Anfänger-Themen 15
C Java soll Datei auf rechner Finden Java Basics - Anfänger-Themen 2
E ActionListener Java Basics - Anfänger-Themen 4
U Eigenschaft eines JTextfiels per ActionListener ändern... Java Basics - Anfänger-Themen 2
U HILFE! - per ActionListener Felder enablen....... Java Basics - Anfänger-Themen 5
C JButton reagiert nicht auf actionListener Java Basics - Anfänger-Themen 15
H Eine Methode über Actionlistener beenden Java Basics - Anfänger-Themen 8
J Array Actionlistener Java Basics - Anfänger-Themen 9
J ActionListener von JCheckBox im Knoten von JTree funktioniert nicht Java Basics - Anfänger-Themen 2
P Erste Schritte ActionListener Java Basics - Anfänger-Themen 2
F Problem mit KeyListener in kombination mit dem ActionListener Java Basics - Anfänger-Themen 4
F Habe ein problem mit dem ActionListener Java Basics - Anfänger-Themen 3
J Erste Schritte Actionlistener für tbar/ JButton Java Basics - Anfänger-Themen 15
krgewb ActionListener Java Basics - Anfänger-Themen 1
L Zugriff auf Attribute eins Objekts über ActionListener Java Basics - Anfänger-Themen 4
T Konsolenscanner startet nicht durch Aufruf von Actionlistener Java Basics - Anfänger-Themen 4
F ActionListener mit Files etc Java Basics - Anfänger-Themen 12
N Probleme mit dem ActionListener Java Basics - Anfänger-Themen 4
CptK Auf ActionListener von anderer Klass aus zugreifen Java Basics - Anfänger-Themen 5
F Mehrere Buttons mit einem ActionListener abdecken Java Basics - Anfänger-Themen 24
U ActionListener mit JMenuItems verknüpfen Java Basics - Anfänger-Themen 1
S in ActionListener auf Eingabe aus anderem Frame warten Java Basics - Anfänger-Themen 2
L Problem bei Java-ActionListener Java Basics - Anfänger-Themen 4
J Anfänger: ActionListener und ProcessBuilder machen Probleme Java Basics - Anfänger-Themen 6
D Einen Wert unter einen ActionListener weitergeben Java Basics - Anfänger-Themen 1
T Übernahme einer Variablen im ActionListener/ActionEvent Java Basics - Anfänger-Themen 2
JavaNewbie2.0 ActionListener Java Basics - Anfänger-Themen 11
Voreck Actionlistener problem Java Basics - Anfänger-Themen 1
G Im ActionListener eine "äußere" Variable verändern Java Basics - Anfänger-Themen 13
T Fehler beim ActionListener Java Basics - Anfänger-Themen 2
M public static int in ActionListener Java Basics - Anfänger-Themen 6
S actionlistener timer Java Basics - Anfänger-Themen 9
J Interface ActionListener in eigener Klasse Java Basics - Anfänger-Themen 27
P aus ActionListener auf HauptFrame zugreifen Java Basics - Anfänger-Themen 4
A Klassen Bool Actionlistener Java Basics - Anfänger-Themen 2
K Methoden ActionListener wird übersprungen Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben