ActionListener will nicht wie ich will

Status
Nicht offen für weitere Antworten.

Igäl

Mitglied
Hallo Leute

Ich weiss dass ich ab und an zu schnell poste. Werd versuchen meine Ungeduld zu zügeln...

Dieses Problem hab ich jetzt aber eine Weile herumgeschleppt, bis ich mich dazu entschlossen habe zu fragen. Meiner Meinung nach müsste es eigentlich funktionieren was ich will (da es das nicht tut, gehe ich davon aus, dass meine Meinung falsch ist und ich sie revidieren lassen muss). Nun brauch ich eure Hilfe:

Stimmt es, dass folgendes Konstrukt (natürlich nicht so wie es da steht, aber sinngemäss), eigentlich die Ausgabe "Klick Overview" in die Konsole schreiben müsste?

Code:
public class ContentControl
    implements ActionListener    {
    JButton overView;

    public JPanel getTopPan()    {
        [...] //Panel initialisieren - Das Panel wird am Schluss per return an die Hauptklasse übergeben, die es darstellt
        
        overView = new JButton("OverView");
        myPanel.add(overView);
        overView.addActionListener(this);


        [...] //Mehrer Aktionen und der return an die Hauptklasse
    }

    [...] //Diverses Zeugs (paint() und so)

    public voic actionPerformed(ActionEvent ae)    {
        if(ae.getSource() == "overView")    {
            System.out.println("Klick: Overview");
        }else{
            System.out.prinln("Where are you clickin'?");
        }
        repaint();
    }
}

Da jedesmal "Where are you clickin'?" ausgegeben wird, gehe ich davon aus, dass zumindest der ActionListener funktioniert. Doch trotz Klick auf den Button overView erkennt getSource() nicht dass der User da geklickt hat. Wo steh ich aufm Schlauch?

Gruss Igäl
 

der JoJo

Bekanntes Mitglied
du vergleichst den wert aus getSource() mit ==, das macht man nicht.
vergleiche statt dessen mal mit .equals("overView")

#edit
neh das is auch mist,

frage mit instanceof, ob das SourceObject vom type JButton ist,
Wenn ja caste es und hol dir dann dort den Titel
 

@x.l

Bekanntes Mitglied
weise deinem Button eine ActionCommand zu.

Code:
overView.setActionCommand("button1");

dann kannst beim ActionEvent darauf prüfen

Code:
if(ae.getActionCommand().equals("button1"))
    // tue was
 

Igäl

Mitglied
Muss mich wohl noch daran gewöhnen, dass Java keine automatische Typenkonvertierung kennt...

Aber auch mit
if(ae.getSource().equals("overView"))
komme ich auf das selbe Ergebnis.
 
G

Guest

Gast
Igäl hat gesagt.:
Hallo Leute

Ich weiss dass ich ab und an zu schnell poste. Werd versuchen meine Ungeduld zu zügeln...

Dieses Problem hab ich jetzt aber eine Weile herumgeschleppt, bis ich mich dazu entschlossen habe zu fragen. Meiner Meinung nach müsste es eigentlich funktionieren was ich will (da es das nicht tut, gehe ich davon aus, dass meine Meinung falsch ist und ich sie revidieren lassen muss). Nun brauch ich eure Hilfe:

Stimmt es, dass folgendes Konstrukt (natürlich nicht so wie es da steht, aber sinngemäss), eigentlich die Ausgabe "Klick Overview" in die Konsole schreiben müsste?

Code:
public class ContentControl
    implements ActionListener    {
    JButton overView;

    public JPanel getTopPan()    {
        [...] //Panel initialisieren - Das Panel wird am Schluss per return an die Hauptklasse übergeben, die es darstellt
        
        overView = new JButton("OverView");
        myPanel.add(overView);
        overView.addActionListener(this);


        [...] //Mehrer Aktionen und der return an die Hauptklasse
    }

    [...] //Diverses Zeugs (paint() und so)

    public voic actionPerformed(ActionEvent ae)    {
        if(ae.getSource() == "overView")    {
            System.out.println("Klick: Overview");
        }else{
            System.out.prinln("Where are you clickin'?");
        }
        repaint();
    }
}

Da jedesmal "Where are you clickin'?" ausgegeben wird, gehe ich davon aus, dass zumindest der ActionListener funktioniert. Doch trotz Klick auf den Button overView erkennt getSource() nicht dass der User da geklickt hat. Wo steh ich aufm Schlauch?

Gruss Igäl

Dein if passt nicht. getSource gibt soz. deinen Button zurück.

Wenn overView in der gesamten Klasse bekannt ist kannst du das so
Code:
if(ae.getSource() == overView)    { // Ohne Anführungszeichen
machen. Ist der Button nicht in der gesamten Klasse bekannt müsstest du
Code:
if (((JButton) ae.getSource()).getActionCommand().equals("OverView")) {
machen.
 

Igäl

Mitglied
Herzlichen Dank. Die Lösung vom Gast hat mir geholfen.

@x.l. - Danke... Du hast mir gleich die Lösung geliefert, wie ich die Buttons dynamisch in einer Methode erzeugen und dennoch weiter darauf zugreifen kann.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C JButton reagiert nicht auf actionListener Java Basics - Anfänger-Themen 15
J ActionListener von JCheckBox im Knoten von JTree funktioniert nicht Java Basics - Anfänger-Themen 2
T Konsolenscanner startet nicht durch Aufruf von Actionlistener Java Basics - Anfänger-Themen 4
Z ActionListener wird nicht erkannt? Java Basics - Anfänger-Themen 5
I ActionListener reagiert nicht Java Basics - Anfänger-Themen 6
E JMenu ActionListener reagiert nicht? Java Basics - Anfänger-Themen 6
M Variablen Variable lässt sich durch ActionListener nicht ändern Java Basics - Anfänger-Themen 5
Y Actionlistener passt nicht zu Dataset Java Basics - Anfänger-Themen 6
S Actionlistener funktionieren nicht in der .jar Java Basics - Anfänger-Themen 9
E ActionListener erkennt instanz nicht Java Basics - Anfänger-Themen 9
M ActionListener reagiert nicht Java Basics - Anfänger-Themen 4
U ActionListener und KeyListener - KeyListener funktioniert nicht Java Basics - Anfänger-Themen 2
N Einfacherer Taschenrechner, ActionListener funzt nicht. Java Basics - Anfänger-Themen 8
C ActionListener funktioniert nicht Java Basics - Anfänger-Themen 5
G Warum geht dass nicht? Actionlistener geht nicht. Java Basics - Anfänger-Themen 4
raptorrs JPanel reagieren nicht auf ActionListener Java Basics - Anfänger-Themen 3
L ActionListener für Taschenrechner funkt nicht Java Basics - Anfänger-Themen 25
C ActionListener wird nicht ausgeführt Java Basics - Anfänger-Themen 2
M Externer ActionListener funkt nicht so wie ichs ma vorstell Java Basics - Anfänger-Themen 2
J ActionListener() geht nicht 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
H Eine Methode über Actionlistener beenden Java Basics - Anfänger-Themen 8
J Array Actionlistener Java Basics - Anfänger-Themen 9
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
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
S actionlistener Java Basics - Anfänger-Themen 29
S ActionListener und Statische Variablen Java Basics - Anfänger-Themen 4
J ActionListener Java Basics - Anfänger-Themen 5
A ActionListener Java Basics - Anfänger-Themen 9
R Problem mit ActionListener für Buttons Java Basics - Anfänger-Themen 5
T ActionListener Source vergleichen Java Basics - Anfänger-Themen 8
T Frage zum ActionListener Java Basics - Anfänger-Themen 5
R ActionListener mit for Schleife füllen. Java Basics - Anfänger-Themen 4
K Button's mit versch. Aufgaben/ActionListener Java Basics - Anfänger-Themen 12
S KeyListener/ActionListener/paint()/repaint() Java Basics - Anfänger-Themen 3
N Probleme mit ActionListener und Logischer Abfrage Java Basics - Anfänger-Themen 4
D Erste Schritte Buttons mit actionlistener Problem Java Basics - Anfänger-Themen 3
S JButton mit ActionListener Java Basics - Anfänger-Themen 5
S ActionListener, Methoden und Variablen Java Basics - Anfänger-Themen 4
X Variablen Actionlistener | Variablen-namen Java Basics - Anfänger-Themen 5
G ActionListener implementieren Java Basics - Anfänger-Themen 12
T Erste Schritte Berechnete Variable im ActionListener zurückführen Java Basics - Anfänger-Themen 6
D Panel sichtbar/unsichtbar machen im ActionListener Java Basics - Anfänger-Themen 3
U JFrame durch ActionListener erweitern Java Basics - Anfänger-Themen 4
M Button , actionlistener Java Basics - Anfänger-Themen 11
P Erste Schritte JTable mit Daten aus Acces DB füllen und Actionlistener einsetzen Java Basics - Anfänger-Themen 29
M Actionlistener Java Basics - Anfänger-Themen 9
D Problem mit ausgelagertem Actionlistener Java Basics - Anfänger-Themen 4
D KeyListener und ActionListener Problem Java Basics - Anfänger-Themen 6
M Klassen Durch den ActionListener das GUI einer anderen Klasse verändern Java Basics - Anfänger-Themen 8
T NullPointerException im ActionListener Java Basics - Anfänger-Themen 3
C Erste Schritte GUI - ActionListener - Exception Nullpointer Java Basics - Anfänger-Themen 5
Kenan89 ActionListener in eigene Klasse Java Basics - Anfänger-Themen 8
V ActionListener in einer for-Schleife Java Basics - Anfänger-Themen 2
S Erste Schritte ActionListener auf Buttons einrichten Java Basics - Anfänger-Themen 3
P ActionListener Action Event Java Basics - Anfänger-Themen 5
L ActionListener zerschießt AnchorLayout Java Basics - Anfänger-Themen 8
D ActionListener braucht zwei Klicks auf Button??? Java Basics - Anfänger-Themen 2
M Methoden Timer in ActionListener aufrufen Java Basics - Anfänger-Themen 2
W Problem mit FileWriter / ActionListener Java Basics - Anfänger-Themen 6
F actionListener Java Basics - Anfänger-Themen 3
T ActionListener auslagern Java Basics - Anfänger-Themen 14
E ActionListener abwarten lassen? Java Basics - Anfänger-Themen 11
E ActionListener in anderer Klasse erkennen Java Basics - Anfänger-Themen 13
H ActionListener Verbesserung möglich? (This) Java Basics - Anfänger-Themen 3
V ActionListener bei vielen Modulen Java Basics - Anfänger-Themen 3
J ActionListener Java Basics - Anfänger-Themen 2
T JLabel durch ActionListener ändern Java Basics - Anfänger-Themen 4
S ActionListener Java Basics - Anfänger-Themen 4
U actionListener - eine Kleine Frage Java Basics - Anfänger-Themen 7
K Actionlistener Java Basics - Anfänger-Themen 7
M ActionListener außerhalb des EDT ausführen Java Basics - Anfänger-Themen 2
A ActionListener im JMenu - Problem Java Basics - Anfänger-Themen 2
N ActionListener + GUI Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben