name des Jbuttons wird mit can not be resolved markiert

tom23

Mitglied
Ich möchte das wenn einer meiner JButtobs gedrückt wird das ein text ausgegeben wird dafür müsste nur noch meine JButton dessen name nach rechere scheinbar in eine if else abfrage kommt
Code:
else if (ae.getSource() == al.button1) {
    home.setLabelText(("button1 wurde gedrückt"));
aber Button1 wird immer unterstriechen und an der seite steht : button1 can not be resolved or is not a field
weiß wer woran das liegt ?
 
Lösung
Ok, jetzt wird es klar.
Bei dir ist al der ActionListener, der in der Klasse menü definiert wird genau wie die Buttons. Die kannst du dann nicht in der Klasse menü2 benutzten, weil die sie ja nicht kennt. Eine Klasse bildet einen eigenen Namensraum und nur dort sind die Namen bekannt.

Pack mal den Code in die actionPerformed von al und entferne die actionPerformed in der anderen Klasse.
Java:
if( ae.getSource() == montag) { //null bezieht sich wahrscheinlich auf java objekte und ist deshalb ungeignet
    menü.setLabelText(("Montag"));
}
else if (ae.getSource() == dienstag) {
    menü.setLabelText(("Dienstag"));
}
else if (ae.getSource() == mittwoch) {
    menü.setLabelText(("Mittwoch"));
}
else if (ae.getSource() == donnerstag) {...
Ok, jetzt wird es klar.
Bei dir ist al der ActionListener, der in der Klasse menü definiert wird genau wie die Buttons. Die kannst du dann nicht in der Klasse menü2 benutzten, weil die sie ja nicht kennt. Eine Klasse bildet einen eigenen Namensraum und nur dort sind die Namen bekannt.

Pack mal den Code in die actionPerformed von al und entferne die actionPerformed in der anderen Klasse.
Java:
if( ae.getSource() == montag) { //null bezieht sich wahrscheinlich auf java objekte und ist deshalb ungeignet
    menü.setLabelText(("Montag"));
}
else if (ae.getSource() == dienstag) {
    menü.setLabelText(("Dienstag"));
}
else if (ae.getSource() == mittwoch) {
    menü.setLabelText(("Mittwoch"));
}
else if (ae.getSource() == donnerstag) {
    menü.setLabelText(("Donnerstag"));
}
else if (ae.getSource() == freitag) {
    menü.setLabelText(("Freitag"));
}

Wie du auf die Idee kommst warum al die Buttons kennen soll, verstehe ich allerdings nicht.

Bevor du dich weiter mit GUIs beschäftigst würde ich dir eher empfehlen dich nochmal mit den Namensräumen zu beschäftigen
Viele Grüße
Sascha
 
Zurück