Wie positioniere ich einen JDialog in der Mitte des Bildschirms?
83
In Java 1.4+ können Sie Folgendes tun:
final JDialog d = new JDialog();
d.setSize(200,200);
d.setLocationRelativeTo(null);
d.setVisible(true);
Oder vielleicht (vor 1.4):
final JDialog d = new JDialog();
d.setSize(200, 200);
final Toolkit toolkit = Toolkit.getDefaultToolkit();
final Dimension screenSize = toolkit.getScreenSize();
final int x = (screenSize.width - d.getWidth()) / 2;
final int y = (screenSize.height - d.getHeight()) / 2;
d.setLocation(x, y);
d.setVisible(true);
setLocationRelativeTo
damit das Dialogfeld auf dem entsprechenden Monitor für Benutzer mit mehreren Monitoren angezeigt wird.pack()
vorher anrufen,setLocationRelativeTo(null)
um den Dialog richtig zu zentrieren.Zwei Helfer zum Zentrieren innerhalb des Bildschirms oder innerhalb des übergeordneten Elements.
quelle
Verwenden Sie diese Zeile nach der
pack()
Methode:quelle
Hier ist meine Lösung zum Abrufen der Bildschirmgröße mit mehreren Monitoren.
quelle
AFAIK Sie können jedem JDialog / JFrame / JWindow-Konstruktor eine GraphicEnvironment übergeben. Dieses Objekt beschreibt den zu verwendenden Monitor.
quelle