Fenster mittig auf dem Bildschirm positionieren (Java): Unterschied zwischen den Versionen
K (hat „Fenster mittig auf dem Bildschirm positionieren“ nach „Fenster mittig auf dem Bildschirm positionieren (Java)“ verschoben) |
K |
||
Zeile 10: | Zeile 10: | ||
super(title); | super(title); | ||
− | |||
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); | setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); | ||
− | |||
int windowWidth = 800; //Breite des Programmfensters in Pixel | int windowWidth = 800; //Breite des Programmfensters in Pixel | ||
− | |||
int windowHeight = 600; //Höhe des Programmfensters in Pixel | int windowHeight = 600; //Höhe des Programmfensters in Pixel | ||
− | |||
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); //Bildschirmdimensionen in Pixeln holen | Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); //Bildschirmdimensionen in Pixeln holen | ||
− | |||
setBounds((screenSize.width-windowWidth)/2, (screenSize.height-windowHeight)/2, windowWidth, windowHeight); | setBounds((screenSize.width-windowWidth)/2, (screenSize.height-windowHeight)/2, windowWidth, windowHeight); | ||
} | } | ||
− | |||
− | |||
public static void main(String[] args) { | public static void main(String[] args) { | ||
Zeile 38: | Zeile 31: | ||
public MyFrame(String title) { | public MyFrame(String title) { | ||
− | |||
super(title); | super(title); | ||
− | |||
setSize(600, 400); //Dimensionen des Fensters festlegen | setSize(600, 400); //Dimensionen des Fensters festlegen | ||
− | |||
setLocationRelativeTo(null); //Fenster zentrieren | setLocationRelativeTo(null); //Fenster zentrieren | ||
− | |||
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); | setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); | ||
− | |||
} | } | ||
− | |||
− | |||
public static void main(String[] args) { | public static void main(String[] args) { | ||
Zeile 58: | Zeile 44: | ||
}</code=java> | }</code=java> | ||
− | [http://java.sun.com/javase/6/docs/api/java/awt/Window.html#setLocationRelativeTo(java.awt.Component) setLocationRelativeTo(java.awt.Component)] wurde zum ersten Mal in Java 1.4 in {{ | + | [http://java.sun.com/javase/6/docs/api/java/awt/Window.html#setLocationRelativeTo(java.awt.Component) setLocationRelativeTo(java.awt.Component)] wurde zum ersten Mal in Java 1.4 in {{JAPI|java.awt.Window}} implementiert und kann somit in bzw. für Klassen verwendet werden, die von {{JAPI|Window}} erben. |
Wichtig bei ihrer Verwendung ist die Reihenfolge der Anweisungen. Der Aufruf der <i>setLocationRelativeTo()</i>-Methode darf erst nach der Dimensionierung z.B. mit <i>setSize()</i> oder <i>pack()</i> des Programmfensters erfolgen, da sie ihre Funktion sonst nicht erfüllen kann. | Wichtig bei ihrer Verwendung ist die Reihenfolge der Anweisungen. Der Aufruf der <i>setLocationRelativeTo()</i>-Methode darf erst nach der Dimensionierung z.B. mit <i>setSize()</i> oder <i>pack()</i> des Programmfensters erfolgen, da sie ihre Funktion sonst nicht erfüllen kann. | ||
Der <i>setLocationRelativeTo()</i>-Methode kann statt <i>null</i> eine Referenz auf eine Component übergeben werden. Dann wird sich das Fenster relativ zu dieser Component positionieren. | Der <i>setLocationRelativeTo()</i>-Methode kann statt <i>null</i> eine Referenz auf eine Component übergeben werden. Dann wird sich das Fenster relativ zu dieser Component positionieren. |
Version vom 27. April 2014, 19:12 Uhr
Am Beispiel der Klasse MyFrame, die von Vorlage:API (Swing) erbt, soll demonstriert werden, wie ein Programmfenster auf einfache Weise auf dem Bildschirm zentriert werden kann.
Dazu zunächst folgender Code:
Mit Java bis Version 1.4
In Java-Versionen vor Java 1.4 kann ein Programmfenster folgendermaßen auf dem Bildschirm zentriert werden: <code=java>public class MyFrame extends JFrame {
public MyFrame(String title) {
super(title); setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); int windowWidth = 800; //Breite des Programmfensters in Pixel int windowHeight = 600; //Höhe des Programmfensters in Pixel Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); //Bildschirmdimensionen in Pixeln holen setBounds((screenSize.width-windowWidth)/2, (screenSize.height-windowHeight)/2, windowWidth, windowHeight);
}
public static void main(String[] args) {
new MyFrame("Title").setVisible(true);
}
}</code=java>
Mit Java ab Version 1.4
<code=java>public class MyFrame extends JFrame {
public MyFrame(String title) { super(title); setSize(600, 400); //Dimensionen des Fensters festlegen setLocationRelativeTo(null); //Fenster zentrieren setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); }
public static void main(String[] args) {
new MyFrame("Title").setVisible(true);
}
}</code=java>
setLocationRelativeTo(java.awt.Component) wurde zum ersten Mal in Java 1.4 in java.awt.Window
implementiert und kann somit in bzw. für Klassen verwendet werden, die von Window
erben.
Wichtig bei ihrer Verwendung ist die Reihenfolge der Anweisungen. Der Aufruf der setLocationRelativeTo()-Methode darf erst nach der Dimensionierung z.B. mit setSize() oder pack() des Programmfensters erfolgen, da sie ihre Funktion sonst nicht erfüllen kann.
Der setLocationRelativeTo()-Methode kann statt null eine Referenz auf eine Component übergeben werden. Dann wird sich das Fenster relativ zu dieser Component positionieren.