Wenn viele NebenFenster zum Locationsetzen das HauptFenster brauchen

Dit_

Bekanntes Mitglied
Hallo!

Follgendes Problem.

In meinem Programm gibt es ein HauptFenster und viele NebenFenster. Wenn ich ein Fenster öffne z.B. Hilfe, so soll es ja in der mitte des Hauptfensters erscheinen, egal wo sich das Hauptfenster befindet.
das mache ich so:
Java:
setLocationRelativeTo(mainWindow);

d.h. ich muss jedem NebenFenster als Parameter im Konstruktor MainWindow übergeben...

Könnte man das auf diese Weise umgehen?
Java:
public class MainWindow extends JFrame implements KeyListener, MouseListener {


	private static MainWindow instanz = null;


	/**
	 * Konstruktor.
	 * 
	 */
	public MainWindow() {
		super("Titel");
	}

	
	public void showWindow() {
		setFocusable(true);
		addKeyListener(this);
		addMouseListener(this);
		setPreferredSize(new Dimension(900, 640));
		
		pack();
		setLocationRelativeTo(null);
		setVisible(true);
		MainWindow.instanz = this;
	}
	

	public static MainWindow getMainWindow(){
		if(MainWindow.instanz != null){
			return MainWindow.instanz;
		}
		return null; //oder exception
	}
}

so könnte ich wo auch immer ich MainWindow brauche, einfach
Java:
setLocationRelativeTo(MainWindow.getMainWindow());
aufrufen.

Mir geht es darum ob das ein guter Programmierstil...

Danke schon mal.
 
Zuletzt bearbeitet:
ob das guter Programmstil ist, will ich nicht beantworten 😉
aber mal so als Denkanstoss: Kennst du viele Programme, die aus mehreren Fenstern bestehen?

Warum baust du dir nicht ein JFrame und unterteilst mit Hilfe von weiteren Componenten(JPanel, JScrollPane usw) deine "Anzeigelogik" so, wie du dir das wünscht?
 
Lieber mitgeben... Darum kannst du dem JDialog ja auch seinen parent mitgeben...
Oder versuch deine Dialoge zu verringern in dem du Docking Frameworks verwendest...
 

Zurück
Oben