আমার চোখে, স্ক্রিনের মাঝখানে একটি জিইউআই দেখতে দেখতে .. "স্প্ল্যাশ-স্ক্রিন'শ"। আমি তাদের অদৃশ্য হয়ে যাওয়ার এবং আসল জিইউআই উপস্থিত হওয়ার অপেক্ষায় থাকি !
জাভা 1.5 থেকে আমাদের প্রবেশাধিকার রয়েছে Window.setLocationByPlatform(boolean)
। যা ..
এই উইন্ডোটি দেশীয় উইন্ডোটিং সিস্টেমের জন্য ডিফল্ট অবস্থানে উপস্থিত হওয়া উচিত বা বর্তমান অবস্থানে (getLocation দ্বারা ফিরে) পরবর্তী সময় উইন্ডোটি দৃশ্যমান করা হবে কিনা তা নির্ধারণ করে। এই আচরণটি কোনও প্রোগ্রামিকভাবে তার অবস্থান সেট না করে দেখানো একটি নেটিভ উইন্ডোর সাথে সাদৃশ্যপূর্ণ। বেশিরভাগ উইন্ডোটিং সিস্টেমগুলি যদি তাদের অবস্থানগুলি সুস্পষ্টভাবে সেট না করা থাকে তবে উইন্ডোজ ক্যাসকেড উইন্ডো। উইন্ডোটি স্ক্রিনে প্রদর্শিত হওয়ার পরে আসল অবস্থানটি নির্ধারিত হয়।
উইন্ডোজ,, জিনোম এবং ম্যাক ওএস এক্স এর সাথে লিনাক্স - ওএস দ্বারা নির্বাচিত ডিফল্ট অবস্থানে 3 জিইউআই রাখার এই উদাহরণটির প্রভাবটি দেখুন Have
(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();
}
});
}
}