2010-06-08 14 views
5

java swing'te bir uygulama yapıyorum ve UI'ye bir doğal işletim sistemi görüntüsü vermek için aşağıdaki kodu kullanıyorumSwing UI, yerel işletim sistemi görüntüsüne sahip değil

try { 
    UIManager.setLookAndFeel(
    UIManager.getSystemLookAndFeelClassName()); 
    } catch (Exception e) { 
    e.printStackTrace(); 
} 

Bir OS X üzerinde, görünüm gayet iyi, ancak Windows (XP ve 7) düğmeler böyle görünüyor.

alt text http://img710.imageshack.us/img710/8735/buttonsoc.png

Bu kodu aynen diğer projelerde kullandım ve gayet iyi çalışıyor. Ama bu özel projede tamamen farklı bir görünüm elde ediyorum.

Java kullanıyorum 1.6

Şimdiden teşekkürler!

+0

Hangi Java sürümünü kullanıyorsunuz? –

+2

Yayınladığınız şey işe yaramalı, http://java.sun.com/docs/books/tutorial/uiswing/lookandfeel/plaf.html#programmatic adresine baktınız mı? –

+0

@Romain - Kodu aldığım ve daha önce çalıştığım yer burası. Şimdi şaşırtıcı bir şekilde farklı bir görünüm veriyor. Aynı sonuca sahip farklı sistemlerde de test ettim. –

cevap

8

L & F? Ayarını yapmadan önce GUI öğelerinizi oluşturuyor musunuz? Önceden oluşturulmuş (ör.) JButton örneklerini oluşturduysanız ve bunlara yöntemler denirse, UI eşler - değişikliklerini L & F'ye ayırırlar, bundan sonra zaten oluşturulan örnekleri etkilemez.

Bu, neden Mac üzerinde çalıştığını açıklar (L & F, Apple'ın JVM IIRC'sindeki Mac için varsayılan değerlerdir), ancak Windows'ta değil. L & F ayarını doğrudan ilk aramanız olarak ana yönteminize getirdiğinizde bunu hızlı bir şekilde test edebilirsiniz (bu, ana sınıfınızın statik olarak başlatılmış herhangi bir GUI örneğini içermediği varsayılarak).

+0

Teşekkürler! Öyleydi. Bana çok acı veriyorsun. –

İlgili konular