Hallo!
Mit Swing habe ich mir ein Hauptfenster (also ein ganz normales Fenster/Window) gebaut. Dieses soll als MDI-Container laufen, also weitere Fester beinhalten.
Alles ganz schön soweit. Hauptfenster wird erstellt und über Menü lässt sich auch ein Unterfenster innerhalb des Hauptfenster erstellen. Leider funktioniert das Schließen des Unterfensters nicht ganz. Ich kann es nur einmal schließen, also auf das x oben rechts klicken, aber wieder öffnen kann ich es nicht.
Vorgehensweise:
Ich habe ein JFrame, als Hauptcontainer.
In dieses setze ich ein JMenuBar hinein.
In der JMenuBar habe ich mehrere JMenu.
In den JMenu habe ich JMenuItem, denen ich einen ActionListener mitgebe.
Der ActionListener, den ich mitgebe, besteht aus einer Klasse mit:
Die Abstrakte Klasse AbstractAction hat eine Methode actionPerformed(ActionEvent e), die ich überschreibe (@Override), sodass ich mit dieser eine neue Form aufrufen kann, also eine Klasse mit:
In dem Konstruktor dieser Klasse, erstelle ich zuerst:
und gebe diesem ein JDesktopPane. Um es sichtbar zu machen, habe ich
Frage:
Was mache ich falsch bei Schließen? Muss ich noch einen Parameter setzen, der beim Schließen den GarbageCollector flasht, oder sowas?
Falls irgendetwas unklar erklärt ist, so bitte ich euch drum, näher nachzufragen.
Vielen Dank im Voraus!
Mit Swing habe ich mir ein Hauptfenster (also ein ganz normales Fenster/Window) gebaut. Dieses soll als MDI-Container laufen, also weitere Fester beinhalten.
Alles ganz schön soweit. Hauptfenster wird erstellt und über Menü lässt sich auch ein Unterfenster innerhalb des Hauptfenster erstellen. Leider funktioniert das Schließen des Unterfensters nicht ganz. Ich kann es nur einmal schließen, also auf das x oben rechts klicken, aber wieder öffnen kann ich es nicht.
Vorgehensweise:
Ich habe ein JFrame, als Hauptcontainer.
In dieses setze ich ein JMenuBar hinein.
Java:
setJMenuBar(...)
In den JMenu habe ich JMenuItem, denen ich einen ActionListener mitgebe.
Java:
addActionListener(...)
Java:
extends AbstractAction
Java:
extends JDesktopPane
Java:
JInternalFrame inFrame = new JInternalFrame("Maskenname", true, true, true, true);
Java:
JInternalFrame.setVisible(true);
Frage:
Was mache ich falsch bei Schließen? Muss ich noch einen Parameter setzen, der beim Schließen den GarbageCollector flasht, oder sowas?
Falls irgendetwas unklar erklärt ist, so bitte ich euch drum, näher nachzufragen.
Vielen Dank im Voraus!