मेरी नजर में, स्क्रीन के बीच में एक GUI ऐसा दिखता है .. "स्प्लैश-स्क्रीन'इश"। मैं उनके गायब होने और असली GUI के प्रकट होने का इंतज़ार करता रहता हूँ !
जावा 1.5 के बाद से हम तक पहुँच चुके हैं Window.setLocationByPlatform(boolean)
। कौन कौन से..
यह सेट करता है कि यह विंडो मूल विंडो सिस्टम के लिए डिफ़ॉल्ट स्थान पर दिखाई दे या वर्तमान स्थान पर (getLocation द्वारा लौटा दी गई) अगली बार विंडो दिखाई दे। यह व्यवहार एक मूल विंडो से मिलता-जुलता है जो बिना प्रोग्राम के अपना स्थान निर्धारित करता है। यदि उनके स्थान स्पष्ट रूप से सेट नहीं किए गए हैं, तो अधिकांश विंडोिंग सिस्टम कैस्केड विंडो का उपयोग करते हैं। स्क्रीन पर विंडो दिखाए जाने के बाद वास्तविक स्थान निर्धारित होता है।
इस उदाहरण के प्रभाव पर एक नज़र डालें जो ओएस द्वारा चुने गए डिफ़ॉल्ट पदों में 3 जीयूआई डालता है - विंडोज 7 पर, ग्नोम और मैक ओएस एक्स के साथ लिनक्स।
(3 लॉट) 3 जीयूआई बड़े करीने से ढेर। यह अंतिम उपयोगकर्ता के लिए 'कम से कम आश्चर्य का मार्ग' का प्रतिनिधित्व करता है, क्योंकि यह है कि ओएस कैसे डिफ़ॉल्ट सादे-पाठ संपादक के 3 उदाहरणों (या कुछ और, उस मामले के लिए) को स्थिति में ला सकता है। लिनक्स और मैक के लिए ट्रैशगॉड के लिए मेरा धन्यवाद। इमेजिस।
यहाँ सरल कोड का उपयोग किया गया है:
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();
}
});
}
}