S
Stiff08
Gast
Hallo Leute!
Ich bin gerade dabei eine GUI zu schreiben. Dazu verwenden wir hier in der Schule Bluej.
Das ganze soll später ein Autoersatzteil verkauf werden mit dem ich dann für verschiedene Modelle verschiedener Hersteller Ersatzteile kaufe und diese in einer Array gespeichert werden. (Zur späteren Auslese aller gekauften Teile). Aber das sei mal dahin gestellt.
Ich habe jetzt 2 Klassen. Die erste zur Erzeugung des Frame "Herstellerauswahl" und die 2 Klasse "Modellauswahl". Die Klasse Herstellerauswahl ist vererbt von Modellauswahl.
In meiner ersten Klasse wir ein Frame erstellt in dem es 3 Buttons gibt über die ich eben die Hersteller auswählen kann. Dazu verwende ich die ActionListener. Ich betätige also den Button Audi und es wird eine Methode aufgerufen (ModelAuswahlAudi()
die in der Superklasse(Modellauswahl) definiert ist und das nächste Frame (zur Auswahl der Modelle) erzeugt. Dabei soll nun das erste Frame (die Herstellerauswahl) wieder geschlossen werden.
Dachte ich könnte einfach frame.setVisible(false); in den ActionListener schreiben. Aber das funktioniert nicht.
Hier mal einen Auszug aus dem Quelltext.
Der ActionListener hier ist ja nun eine innere Klasse und ich weiss das man auf die Variablen nur zugreifen kann wenn sie als final deklariert werden. Das ändert jedoch auch nichts. Habe die Variable frame als Datenfeld mit protected gesetzt.
Könnt Ihr helfen? Bin am verzweifeln irgendwie muss es doch funktionieren.
Vielen Dank im Voraus!!
Stiff
Ich bin gerade dabei eine GUI zu schreiben. Dazu verwenden wir hier in der Schule Bluej.
Das ganze soll später ein Autoersatzteil verkauf werden mit dem ich dann für verschiedene Modelle verschiedener Hersteller Ersatzteile kaufe und diese in einer Array gespeichert werden. (Zur späteren Auslese aller gekauften Teile). Aber das sei mal dahin gestellt.
Ich habe jetzt 2 Klassen. Die erste zur Erzeugung des Frame "Herstellerauswahl" und die 2 Klasse "Modellauswahl". Die Klasse Herstellerauswahl ist vererbt von Modellauswahl.
In meiner ersten Klasse wir ein Frame erstellt in dem es 3 Buttons gibt über die ich eben die Hersteller auswählen kann. Dazu verwende ich die ActionListener. Ich betätige also den Button Audi und es wird eine Methode aufgerufen (ModelAuswahlAudi()
Dachte ich könnte einfach frame.setVisible(false); in den ActionListener schreiben. Aber das funktioniert nicht.
Hier mal einen Auszug aus dem Quelltext.
Java:
buttonAudi.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
JOptionPane.showMessageDialog (null,"Wählen Sie nun das gewünschte Model aus.");
ModelAuswahlAudi();
frame.setVisible(false);
}
});
Könnt Ihr helfen? Bin am verzweifeln irgendwie muss es doch funktionieren.
Vielen Dank im Voraus!!
Stiff
Zuletzt bearbeitet von einem Moderator: