내 눈에, 화면 중간에 GUI가 그렇게 보인다. "splash-screen'ish". 나는 그들이 사라지고 실제 GUI가 나타날 때까지 계속 기다리고 있습니다 !
Java 1.5부터 우리는에 액세스했습니다 Window.setLocationByPlatform(boolean)
. 어느..
다음에 윈도우가 표시 될 때이 윈도우가 기본 윈도우 시스템의 기본 위치에 표시되는지 또는 현재 위치 (getLocation에 의해 반환 됨)에 표시되어야하는지 설정합니다. 이 동작은 프로그래밍 방식으로 위치를 설정하지 않고 표시된 기본 창과 유사합니다. 대부분의 윈도우 시스템은 위치가 명시 적으로 설정되지 않은 경우 계단식으로 배열됩니다. 창이 화면에 표시되면 실제 위치가 결정됩니다.
Windows 7, Linux, Gnome & Mac OS X에서 OS가 선택한대로 3 개의 GUI를 기본 위치에 배치하는이 예제의 효과를 살펴보십시오.
3 개의 GUI가 깔끔하게 쌓여 있습니다. 이것은 OS가 기본 일반 텍스트 편집기 (또는 그 문제에 대한 다른 것)의 3 개의 인스턴스를 배치하는 방법이기 때문에 최종 사용자에게는 '최소한의 놀라움의 길'을 나타냅니다. Linux 및 Mac의 휴지통에 감사드립니다. 이미지.
사용 된 간단한 코드는 다음과 같습니다.
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();
}
});
}
}