Hallo,
meine Menu-Klasse soll von einem JFrame nur eine Instanz zulassen und wenn sie existiert, das Frame mit der Methode .showUpAt(JFrame) an eine bestimmte Stelle setzen. OPTIONDIALOG ist ein JFrame und folgender Code ist der ActionListener eines MenuItems:
Das Problem ist nun folgendes: Es wird kein neues Objekt erzeugt, sondern lediglich das alte JFrame wieder angezeigt; wenn ich jedoch den if-else-Block jedoch weg lasse und nur OPTIONDIALOG=new OptionDialog() aufrufe, wird ein neues JFrame erzeugt. OptionDialog wird mit dispose() geschlossen, das setzt ja das Objekt noch nicht auf null, aber selbst wenn ich im if-Block OPTIONDIALOG=null; (oO) schreibe, hilft es nichts.
Was tun?
meine Menu-Klasse soll von einem JFrame nur eine Instanz zulassen und wenn sie existiert, das Frame mit der Methode .showUpAt(JFrame) an eine bestimmte Stelle setzen. OPTIONDIALOG ist ein JFrame und folgender Code ist der ActionListener eines MenuItems:
Java:
public void actionPerformed(ActionEvent e){
if(OPTIONDIALOG==null){
OPTIONDIALOG = new OptionDialog();
}
else{
if(OPTIONDIALOG.getState()==JFrame.ICONIFIED) OPTIONDIALOG.setState(JFrame.NORMAL);
OPTIONDIALOG.showUpAt(MAINFRAME);
}
}
Das Problem ist nun folgendes: Es wird kein neues Objekt erzeugt, sondern lediglich das alte JFrame wieder angezeigt; wenn ich jedoch den if-else-Block jedoch weg lasse und nur OPTIONDIALOG=new OptionDialog() aufrufe, wird ein neues JFrame erzeugt. OptionDialog wird mit dispose() geschlossen, das setzt ja das Objekt noch nicht auf null, aber selbst wenn ich im if-Block OPTIONDIALOG=null; (oO) schreibe, hilft es nichts.
Was tun?
Zuletzt bearbeitet: