SORU
22 AĞUSTOS 2011, PAZARTESİ


Nasıl en iyi Swing GUI pozisyon için?

another thread böyle bir şey yaparak benim GUI merkezi sevdiğimi söyledi:

JFrame frame = new JFrame("Foo");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.getContentPane().add(new HexagonGrid());
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);

Ama Andrew Thompson farklı bir görüş, bunun yerine çağırmak zorunda kaldı

frame.pack();
frame.setLocationByPlatform(true);

ve zihinleri soran neden bilmek istiyorsun?

CEVAP
22 AĞUSTOS 2011, PAZARTESİ


Bir GUİ.. öyle görünüyor gözüme, "splash-screen". 'ish Ben onları yok etmek için beklemeye devam etgerçekGörünmesini GUI!

Java 1.5 yana 8* *erişim sağladık. ..

Bu Pencere geçerli konumda yerel pencere sistemini veya varsayılan konumda görünür olup olmadığını belirler (getLocation tarafından döndürülen) bir dahaki sefere Penceresi görünür yapılır. Bu davranış, yerel bir pencere programlı olarak konumunu ayarlamadan gösterilen benzer.Onların yerleri en pencere sistemleri cascade windows açıkça ayarlanmamıştır.Gerçek konumu penceresi ekranda gösterilir bir kez belirlenir.

İşletim sistemi tarafından seçilen varsayılan pozisyonlara 3 GUI koyar bu örnek, etkisini göz - Windows 7 & Mac OS X Gnome Linux üzerinde

Stacked windows on Windows 7 enter image description here Stacked windows on Mac OS X

(3 lot) 3 GUI düzgünce dizilir. Bu temsil 'en kolay yolu sürpriz' için son kullanıcı, bu nasıl işletim sistemi olabilir pozisyon 3 örneklerinin varsayılan düz metin editörü (veya başka bir şey için bu önemli). Teşekkür ederim Linux & Mac için trashgod. görüntüleri.

Burada basit bir kod kullanılır:

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();
            }
        });
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Creavite

    Creavite

    8 Mart 2009
  • Perihelion

    Perihelion

    23 NİSAN 2008
  • PremiumBeat.com - Royalty Free Music

    PremiumBeat.

    16 Kasım 2008