JFrame jFrame = new JFrame("Test");
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.setLocationRelativeTo(null);
jFrame.setSize(600, 600);
jFrame.pack();
// jFrame.setLocationRelativeTo(null); // same results
jFrame.setVisible(true);
screenshot http://img193.imageshack.us/img193/5296/screenshotrev.png
Ist dies die Schuld des OpenJDK? Ich erinnere mich, dass es nicht so gut war wie das von Sun, aber seitdem es der Standard für Ubuntu wurde oder was auch immer ich beschloss, damit zu gehen. Das Programm wird wahrscheinlich unter Windows laufen, also werde ich wohl mal nachsehen müssen ... Gibt es einen einfachen Weg, das plattformunabhängig zu beheben, ohne es zu zerstören, wo es schon funktioniert?
In Ihrem Screenshot wird die linke obere Ecke perfekt zentriert. Sie müssen es nur um die Höhe und Breite des Rahmens versetzen. – jjnguy
Wie von Evan hervorgehoben, ruft dieser Code setLocationRelativeTo() zu früh im Code auf. Es muss ** nach ** pack()/setSize() erfolgen. Beachten Sie auch, dass der Aufruf von setSize() sowohl in Ihrem Beispiel als auch in Evans redundant ist, wenn unmittelbar danach pack() folgt. –