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
Является ли это вина OpenJDK в? Я помню, что это было не так хорошо, как Солнце, но так как это стало стандартом для Ubuntu или того, что я решил продолжить с ним. Вероятно, программа будет работать на окнах, поэтому я полагаю, что мне нужно будет там проверить ... Любой простой способ исправить это независимым от платформы способом, не нарушая его там, где он уже работает?
В вас скриншот, верхний левый угол идеально центрирован. Вам просто нужно компенсировать его высотой и шириной рамки. – jjnguy
Как указал Эван, этот код вызывает слишком рано setLocationRelativeTo(). Это должно быть сделано ** после ** pack()/setSize(). Также обратите внимание, что в вашем примере и в Evan вызов setSize() является избыточным, если сразу после него следует pack(). –