Gözüme, ekranın ortasındaki bir GUI çok .. "açılış ekranı" gibi görünüyor. Onların kaybolmasını ve gerçek GUI'nin görünmesini bekliyorum!
Java 1.5'ten beri erişimimiz var Window.setLocationByPlatform(boolean). hangi..
Bu Pencerenin yerel pencere sistemi için varsayılan konumda mı yoksa Pencere bir sonraki görünür hale getirildiğinde geçerli konumda mı (getLocation tarafından döndürülür) görünmesi gerektiğini ayarlar. Bu davranış, konumunu programlı olarak ayarlamadan gösterilen yerel bir pencereye benzer. Çoğu pencereleme sistemi, konumları açıkça ayarlanmadıysa pencereleri basamaklandırır. Gerçek konum, pencere ekranda gösterildiğinde belirlenir.
3 GUI'yi işletim sistemi tarafından seçilen varsayılan konumlara yerleştiren bu örneğin etkisine bir göz atın - Windows 7, Linux ve Gnome ve Mac OS X'te.

(3 lot) 3 GUI düzgün bir şekilde istiflenmiş. Bu, son kullanıcı için 'en az şaşırtan yolu' temsil eder, çünkü işletim sistemi varsayılan düz metin düzenleyicinin 3 örneğini (veya bu konuda başka herhangi bir şeyi) nasıl konumlandırabilir. Linux ve Mac için trashgod'a teşekkürler. Görüntüler.
İşte kullanılan basit kod:
import javax.swing.*;
class WhereToPutTheGui {
public static void initGui() {
for (int ii=1; ii<4; ii++) {
JFrame f = new JFrame("Frame " + ii);
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
String s =
"os.name: " + System.getProperty("os.name") +
"\nos.version: " + System.getProperty("os.version");
f.add(new JTextArea(s,3,28)); // suggest a size
f.pack();
// Let the OS handle the positioning!
f.setLocationByPlatform(true);
f.setVisible(true);
}
}
public static void main(String[] args) {
SwingUtilities.invokeLater( new Runnable() {
public void run() {
try {
UIManager.setLookAndFeel(
UIManager.getSystemLookAndFeelClassName());
} catch (Exception useDefault) {}
initGui();
}
});
}
}