Hallo zusammen,
Ich stehe gerade vor folgender Problematik:
Ich habe eine Anwendung, die mehrere weitere eigenständige Fenster für bestimmte Sichten/ Anwendungen öffnet.
Wenn der Benutzer ein schon vorhandenes dieser Fenster nochmal öffnet, wird eine zweites Fenster dieser Art erzeugt.
Das möchte ich verhindern und stattdessen das schon vorhandene nach vorne holen.
Wenn der Benutzer das Fenster vorher geschlossen hat, soll aber wieder ein neues dieser Art geöffnet werden, wenn er es aufruft.
Wie bekomme ich das am besten hin?
Mein erster Gedanke war, zu prüfen, ob das Objekt, welches dieses Fenster (frame) öffnet, null ist.
Das ist aber nur vor dem ersten öffnen der Fall, wird das Fenster geschlossen, ist zwar das Frame weg, aber das Objekt, welches das Frame erzeugt hat, ist noch da.
Hier mein Test dazu: (bitte verzeiht mein Deutsch-Englisch-Sprachgemisch🙄)
StatistikWindow ist eine Klasse, die beim erzeugen das Frame erzeugt:
Was wäre der sinnvollste oder übliche Weg, das oben beschriebene Verhalten zu erreichen?
Ich stehe gerade vor folgender Problematik:
Ich habe eine Anwendung, die mehrere weitere eigenständige Fenster für bestimmte Sichten/ Anwendungen öffnet.
Wenn der Benutzer ein schon vorhandenes dieser Fenster nochmal öffnet, wird eine zweites Fenster dieser Art erzeugt.
Das möchte ich verhindern und stattdessen das schon vorhandene nach vorne holen.
Wenn der Benutzer das Fenster vorher geschlossen hat, soll aber wieder ein neues dieser Art geöffnet werden, wenn er es aufruft.
Wie bekomme ich das am besten hin?
Mein erster Gedanke war, zu prüfen, ob das Objekt, welches dieses Fenster (frame) öffnet, null ist.
Das ist aber nur vor dem ersten öffnen der Fall, wird das Fenster geschlossen, ist zwar das Frame weg, aber das Objekt, welches das Frame erzeugt hat, ist noch da.
Hier mein Test dazu: (bitte verzeiht mein Deutsch-Englisch-Sprachgemisch🙄)
Java:
btnTBStatistik.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "Statistikfenster: "+Statistikfenster);
Statistikfenster = new StatistikWindow(window);
}
});
StatistikWindow ist eine Klasse, die beim erzeugen das Frame erzeugt:
Java:
StatistikWindow(TSM_Kapa argMainClass){
MainClass = argMainClass;
owner = argMainClass.getFrame();
Point point = MainClass.getInsertionPoint();
point.x+=32;
point.y+=32;
frame = new JFrame(" KAPA statistik");
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
createUI(frame);
frame.setSize(WINDOW_WIDTH, WINDOW_HEIGHT);
frame.setLocation(point);
frame.setVisible(true);
}
Was wäre der sinnvollste oder übliche Weg, das oben beschriebene Verhalten zu erreichen?