F
Firephoenix
Gast
Folgender Programmaufbau:
2 Klassen:
Fenster und Aufzug
fenster erbt von Frame und macht folgendes:
Erzeugt eine Instanz von Aufzug, erstellt ein Fenster und übergibt aufzug1 (warum, dazu komme ich gleich), und übergibt das erstellte Fenster an das erstellte Aufzugobjekt.
Mein Problem ist folgendes: ich arbeite gerne Modular, und ich kriege die Krise wenn ich alles in eine Datei schreiben muss.
Folgende Aufgabe soll das Programm leisten:
Ein einfaches Fenster erstellen (Buttons und Labels - dieser werden im Konstruktor erzeugt)
Einen Aufzug erstellen (kann hoch und runterfahren etc).
Der Aufzug soll über Fenster gesteuert werden (daher wird Aufzug übergeben, in Aufzug ist das Interface ActionListener implementiert und eine entsprechende Methode um eingaben der Buttons abzufangen)
Soweit einfach.
Jetzt geht es aber rückwärts: der Aufzug soll auch im Fenster änderungen vornehmen können.
Dazu wird das erzeugte Fenster an das erzeugte Aufzugobjekt übergeben.
Nun kann ich von Aufzug aus zwar auf das Fenster zugreifen (Hintergrundfarbe etc), aber keine Elemente manipulieren.
Als Beispiel: Der Text eines Labels ltuerstatusausgabe soll geändert werden.
In meiner Klasse Aufzug sieht das so aus (in Aufzug heißt das Fenster window, wird über eine setmethode eingegeben)
leider erkennt aufzug das Label nicht.
Die einzige Lösung die mir jetzt einfallen würde wäre alle Elemente in Fenster die ich mit Aufzug manipulieren will als Variablen über Setmethoden an Aufzug zu übergeben, dort zu ändern und zurückzuschieben, was sehr hässlich wäre.
Fällt jemandem dazu ein besserer Ansatz an, wie ich aus meiner Klasse Aufzug heraus Elemente in Fenster ändern kann?
2 Klassen:
Fenster und Aufzug
fenster erbt von Frame und macht folgendes:
Java:
public static void main(String[] args)
{
Aufzug aufzug1 = new Aufzug(0, true, 0);
Fenster window = new Fenster(aufzug1);
aufzug1.setFenster(window);
window.setVisible(true);
}
Mein Problem ist folgendes: ich arbeite gerne Modular, und ich kriege die Krise wenn ich alles in eine Datei schreiben muss.
Folgende Aufgabe soll das Programm leisten:
Ein einfaches Fenster erstellen (Buttons und Labels - dieser werden im Konstruktor erzeugt)
Einen Aufzug erstellen (kann hoch und runterfahren etc).
Der Aufzug soll über Fenster gesteuert werden (daher wird Aufzug übergeben, in Aufzug ist das Interface ActionListener implementiert und eine entsprechende Methode um eingaben der Buttons abzufangen)
Soweit einfach.
Jetzt geht es aber rückwärts: der Aufzug soll auch im Fenster änderungen vornehmen können.
Dazu wird das erzeugte Fenster an das erzeugte Aufzugobjekt übergeben.
Nun kann ich von Aufzug aus zwar auf das Fenster zugreifen (Hintergrundfarbe etc), aber keine Elemente manipulieren.
Als Beispiel: Der Text eines Labels ltuerstatusausgabe soll geändert werden.
In meiner Klasse Aufzug sieht das so aus (in Aufzug heißt das Fenster window, wird über eine setmethode eingegeben)
Java:
fenster.ltuerstatusausgabe.setText(getTuerstatus());
leider erkennt aufzug das Label nicht.
Die einzige Lösung die mir jetzt einfallen würde wäre alle Elemente in Fenster die ich mit Aufzug manipulieren will als Variablen über Setmethoden an Aufzug zu übergeben, dort zu ändern und zurückzuschieben, was sehr hässlich wäre.
Fällt jemandem dazu ein besserer Ansatz an, wie ich aus meiner Klasse Aufzug heraus Elemente in Fenster ändern kann?
Zuletzt bearbeitet von einem Moderator: