Zugriff auf Variablen in nicht bekannten Instanzen

Diskutiere Zugriff auf Variablen in nicht bekannten Instanzen im Java Basics - Anfänger-Themen Bereich.
B

bifidus

Ich habe drei Klassen. Nennen wir sie a, b und c.

In a ist die main-methode beheimatet. In dieser Klasse a wird eine Instanz der Klasse b gebildet (ein JFrame). In dieser Klasse b wird eine Instanz der Klasse c(ein JPanel) gebildet.

Wie kann ich nun von der Klasse a aus in einem JTextField, das sich in der Instanz von c befindet, den Text ändern? a kennt ja die Instanz von c nicht?!

Ich hoffe das Problem kann einigermassen nachvollzogen werden.
 
M

mvitz

Methode in B einbauen?

Entweder ein getPanel(), dass C liefert, oder eine Methode setText(String text), die direkt den Text in C ändert.
 
S

Sergeant_Pepper

Du könntest in der Klasse b eine public-Methode (Beispiel: setText(String infotext) definieren. setText ist dann in a aufrufbar, weil es eine Instanz-Variable vom Typ b in a gibt.

In setText wiederum rufst du wiederum eine Methode von c auf, die den Parameter "infoText" an das JPanel weitergibt.
 
F.S.WhiTeY

F.S.WhiTeY

Es gibt zwei möglichkeiten, du musst von a in b und dann in c werte übergeben und dies in deinen methoden einbinden oder du sagst einfach b erbt c.

also endweder durchreichen oder b extends c.
 
B

bifidus

ok, danke. Soweit wäre das klar. War auch meine erste Idee.

Die Frage dabei ist folgende: Ich habe das ganze versucht zu trennen. Klasse b ist ja das VIEW (ein JFrame). Klasse c ist ein einfaches JPanel, das in das JFrame eingaubt wird. a ist der Controller (ActionListener) der die Aktionen des JFrames (z.B. Buttons) verarbeitet.

Daher wollte ich mal wissen, ob es da noch andere Möglichkeiten gibt.
 
B

bifidus

@ F.S. beerben geht nicht. b erbt schon von JFrame. So wies auschaut, ist also nur das Erstere möglich.

Danke.
 
G

Gast2

Du könntest das ganze auch noch über listener realisieren.
Dein View würde dann über Änderungen am Model informiert werden und kann dann dementsprechend seine Darstellung ändern.
 
Thema: 

Zugriff auf Variablen in nicht bekannten Instanzen

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben