Eigenen Listener schreiben

Status
Nicht offen für weitere Antworten.

Escorter

Bekanntes Mitglied
Hallo zusammen,

ich habe in meinem Program die Variable saved.

Wenn sie true ist soll der speichern button disabled sein. Bei false entsprechend.

Die Frage ist nur ob ich der Variable sowas wie einen actionListener verpassen kann, der bei jedem ändern ausgelöst wird oder muss ich das beim ändern immer mit angeben, dass der Button en/disabled wird?

Gruß,
Esco
 

Joker

Bekanntes Mitglied
Listener auf Variablen gibt es nicht. Am besten ist es, wenn du in der set-Methode der Variablen den Button anpasst.
 

Marco13

Top Contributor
Die Variable ist nicht in deinem Programm, sondern in deinem Computer! :meld: :wink:
Es weiß natürlich niemand, worum es geht (außer: "Irgendwas mit 'speichern'"...). Aber falls es um irgendwas geht, was im Model-View-Controller-Pattern implementiert ist, dann wäre die Eigenschaft "saved" ja ein Teil des Modells - und das würde dann seine Listener (oder Observer) benachrichtigen.

Was du beschrieben hast ist ja ganz grob(!) EINER der (vielen) Gründe, warum man Fields immer private und nur über setter/getter zugänglich macht. (Und wenn du jetzt sagst, dass diese Variable private IST, aber innerhalb der Klasse geändert wird: Genau deswegen habe ich mal postuliert, dass es einen access-modifier geben müßte, der stärker ist als private - nämich so stark, dass die Variable NUR in EINER Methode (nämlich genau der set-Methode) geändert werden darf). Jedes mal, wenn sich der Wert der Variablen ändert, muss zusätzlich was passieren.

Langer Rede kurzer Code
Code:
class Model
{
    private boolean saved = false;
    private List listener = ...

    public void setSaved(boolean savedState)
    { 
        if (this.saved != savedState)
        {
             this.saved = savedState;
             for (Listener listener : listeners)
             {
                  listener.daHatSichWasGeändert(new EventFallsNötig());
             }
        }
    }

    public boolean isSaved()
    {
        return saved;
    }
}

class View implements Listener
{
    JButton button = ...
    Model model = ....

    public void daHatSichWasGeändert(EventFallsNötig event)
    {
         button.setEnabled(!model.isSaved());
    }
}
 

Escorter

Bekanntes Mitglied
Vielen Dank für die Antwort.

Schade dass ich nicht selber drauf gekommen bin :? :wink:

Werde es so lösen wie du gesagt hast du auch innerhalb der Klasse auf das Feld über die getter/setter zugreifen und und des rest des Codes in den setter rein schreiben.

Danke

Gruß,
Esco
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T Addons im eigenen Programm Allgemeine Java-Themen 1
E Eigenen "Aufzählungstyp" erstellen - mit enum ? Allgemeine Java-Themen 18
S Parametrisierte jUnit 5-Tests mit eigenen Datentypen/Klassen-Objekten als Test-Parameter Allgemeine Java-Themen 0
dereki2000 Eigenen Zeichensatz benutzen Allgemeine Java-Themen 7
B JAVA Prozesse in einer eigenen Anwendung laufen lassen Allgemeine Java-Themen 9
J Java eigenen Button programmieren (ob Cursor im Rechteck ist oder nicht..../button pressed or not) Allgemeine Java-Themen 6
K Problem: Java-Klasse mit mehreren Threads als eigenen Prozess starten Allgemeine Java-Themen 3
C Bufferoverflow beim eigenen simpeln Programm Allgemeine Java-Themen 4
F Grundrechenarten mit eigenen Typen Allgemeine Java-Themen 9
D Eigenen Objekt Pool Allgemeine Java-Themen 15
A Eigenen OutputStream schreiben und verwenden Allgemeine Java-Themen 9
D eigenen eventListener Allgemeine Java-Themen 5
X Duplikate aus eigenen Datentypen entfernen Allgemeine Java-Themen 14
H2SO3- jar soll eigenen namen(pfad) finden Allgemeine Java-Themen 12
R Eigenen Comparator schreiben ? Allgemeine Java-Themen 10
G Kennt jemand gute Produkte zum Lizensieren der eigenen Apps? Allgemeine Java-Themen 6
G Fragen zum eigenen Scheduler Allgemeine Java-Themen 4
thE_29 Java Prozesse der eigenen JVM Allgemeine Java-Themen 12
C Eigenen Layout Manager schreiben Allgemeine Java-Themen 7
P Klasse über eigenen Classloader laden: SecurityException Allgemeine Java-Themen 11
M eigenen Desktop erzeugen Allgemeine Java-Themen 3
G hat jeder thread seinen eigenen stacktrace? Allgemeine Java-Themen 2
F Eigenen E-MailClient als Standart definieren Allgemeine Java-Themen 7
F "source not found" in eigenem Projekt mit eigenen Allgemeine Java-Themen 2
G ||| Textdateien aus dem eigenen Projekt lesen. Allgemeine Java-Themen 16
D close Problem bei meinem eigenen ToolTip Allgemeine Java-Themen 2
F Dateien auf dem eigenen Server verändern? Allgemeine Java-Themen 3
M Eigenen Datentyp erstellen Allgemeine Java-Themen 4
N Konsole im eigenen Java-Programm Allgemeine Java-Themen 4
N warning beim compilieren des eigenen TableRenderers Allgemeine Java-Themen 5
G Fenster durch eigenen Button minimieren Allgemeine Java-Themen 6
berserkerdq2 Was heißt es mit FXML Listener zu setzen ind Buttons zu erstellen? Allgemeine Java-Themen 6
L Wie programmiert man einen Listener? Allgemeine Java-Themen 1
S Threads Serielle Schnittstelle mit Listener / Aufrufendes GUI Allgemeine Java-Themen 4
H Listener Verständnisproblem Allgemeine Java-Themen 5
D Action Listener Problem Allgemeine Java-Themen 3
S Key Listener mit Strg + s Allgemeine Java-Themen 12
K Threads Listener für Future finish Allgemeine Java-Themen 2
TheWhiteShadow Listener Reihenfolge Allgemeine Java-Themen 4
D Listener auf System.out.err / System.out.println Allgemeine Java-Themen 5
A Listener für constructor einer bestimmen Klasse Allgemeine Java-Themen 9
E Bild mit Listener einfügen Allgemeine Java-Themen 3
P Listener für Tastatureingaben ohne Focus Allgemeine Java-Themen 4
serjoscha WatchDog Thread und Listener Allgemeine Java-Themen 10
hdi Listener für Desktop-Veränderungen Allgemeine Java-Themen 7
T JTextField in Listener leeren Allgemeine Java-Themen 2
lenniii Listener & JList Allgemeine Java-Themen 3
K Key listener ohne Fokus aktiv behalten ? Allgemeine Java-Themen 12
G Code-Convention für Listener Allgemeine Java-Themen 2
T Observer vs Listener Allgemeine Java-Themen 18
S Listener Allgemeine Java-Themen 3
P Abstrakte Elternklasse als Listener Allgemeine Java-Themen 6
MQue KeyAction listener Allgemeine Java-Themen 2
M generische Listener Allgemeine Java-Themen 2
S Listener für Kalender Allgemeine Java-Themen 2
B Observer vs Listener (GUI-Programmierung) Allgemeine Java-Themen 5
J Listener für Ende eines Threads gesucht... Allgemeine Java-Themen 5
S Listener Implentierung bei Eingabe in Textfeld Allgemeine Java-Themen 2
G Objekt einer inneren Klasse als Listener Allgemeine Java-Themen 3
D Boolean Listener? Allgemeine Java-Themen 28
M Listener und Performance Allgemeine Java-Themen 9
D Observer/Observable Pattern vs. Listener-Konzept Allgemeine Java-Themen 4
G Listener auf aktuelles Datum / Uhrzeit Allgemeine Java-Themen 2
E Gibt es so etwas wie einen Windows Listener? Allgemeine Java-Themen 6
T SelectionProvider und Listener Frage Allgemeine Java-Themen 14
I Listener, der zeitlich-periodisch aufgerufen wird Allgemeine Java-Themen 3
R Generische Listener und Sender Allgemeine Java-Themen 12
B Listener dynamisch setzen Allgemeine Java-Themen 6
A Listener Tastatur Allgemeine Java-Themen 3
E Wie: Eigener Listener, eigenes Event (möglichst einfach) Allgemeine Java-Themen 29
D Thread vs Listener Allgemeine Java-Themen 6
K Listener einem Objekt hinzufügen Allgemeine Java-Themen 3
S Listener-Problematik in komplexem Projekt Allgemeine Java-Themen 2
I Listener/Event selber machen. Allgemeine Java-Themen 4
M Time Listener ? Allgemeine Java-Themen 2
Z Zwei Listener zwischen zwei Klassen Allgemeine Java-Themen 4
B statusbar update -> mit thread oder listener? Allgemeine Java-Themen 7
M Action-listener Allgemeine Java-Themen 6
M Bean Listener hinzufügen und Methode später überschreiben Allgemeine Java-Themen 27
G Flavor-Listener Allgemeine Java-Themen 6
E Listener für Änderung der Fenstergröße Allgemeine Java-Themen 3
W Listener an ein beliebiges Objekt hänger, der mir Änderung Allgemeine Java-Themen 8
Z Problem beim Aufruf eines Listener? Allgemeine Java-Themen 4
A HILFE: subclass von Hashtable mit listener aufstellen Allgemeine Java-Themen 5
B Per Java Word Dokument schreiben? Allgemeine Java-Themen 8
Calli11 Was muss ich hier in die Main schreiben, damit das Programm ausgeführt wird? Allgemeine Java-Themen 4
_user_q Eingegebenen Text wiederholt schreiben lassen Allgemeine Java-Themen 9
_user_q JavaFX Robot alle Unicode-Zeichen schreiben lassen können Allgemeine Java-Themen 12
curranux Ausgabe als Textdatei schreiben. Allgemeine Java-Themen 2
B Wie kann ich mein 8 Klassen Gebilde objektorientierter schreiben? Allgemeine Java-Themen 114
Y Wie sinnvolle unit tests schreiben Allgemeine Java-Themen 29
O Test schreiben mit Äquivalenzklassen (Aufgabe Prüfung) Allgemeine Java-Themen 9
S Programm schreiben, das mir aufgrund von Schlagwörtern, die ich im Internet suche, relevante Themen sofort anzeigt. Allgemeine Java-Themen 1
H In jar Resources schreiben? Allgemeine Java-Themen 6
O Wie kann ich in Apache POI (Excel Dateien schreiben) Datumszellen in Excel erzeugen Allgemeine Java-Themen 6
Zrebna Wieviele Testfälle muss man hier schreiben? (Software Engineering) Allgemeine Java-Themen 13
B .txt Datei erstellen und auslesen bzw. schreiben Allgemeine Java-Themen 6
S File lesen und schreiben Java 6 Allgemeine Java-Themen 2
L Erste Schritte Ausdruck schöner schreiben? Allgemeine Java-Themen 8
G Excel File öffnen, in Zelle schreiben, abspeichern Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben