2011-04-01 14 views
6

Oldukça büyük Swing tabanlı bir uygulama üzerinde çalışıyorum (JPanels, JLabels, vb) ve neden metin-antialiasing (JLabels vb) üzerinde çalışmadığını öğrenmek zorundayım.Java text-antialiasing: çalışmadığı zaman nasıl hata ayıklanır?

Bildiğiniz gibi, antialiasing normalde otomatik olarak (zaten Java 1.6 ile) çalışır, yani basit bir Swing uygulaması oluşturulduğunda (örneğin, JLabel ile sadece bir JPanel) JLabel'deki metin kutunun dışında antialiased olmak. System.setProperty("awt.useSystemAAFontSettings","on") ve/veya System.setProperty("swing.aatext", "true")'a gerek yoktur.

Ama bu uygulamamız kutunun dışında yumuşatması değil, farklı, o da değil -Dawt.useSystemAAFontSettings=on ile ve/veya VM-argümanlar olarak -Dswing.aatext=true üzerine, main(String[] args) içinde System.setProperty("awt.useSystemAAFontSettings","on") ve/veya System.setProperty("swing.aatext", "true") ile değil yumuşatması yapar. Bu sitede ve internette bulabildiğim bu ve diğer tüm önerileri denedim, ancak hiçbir faydası yok: Bu uygulama sadece antialiases, ne yaparsam yap ya da yapma.

Şu anda seçenekler dışındayım. Sorularım:

  • Antialiasingin neden çalışmadığını anlamak için hangi adımları atabilirim?
  • Hangi mülkleri kontrol etmeliyim?
  • Hata ayıklayıcıyla hangi kodu takip etmeliyim?
  • Antialiasın çalışmaması hangi durumlarda işe yarayabilir?

Tüm bilgiler kabul edilir.

+0

Program özel bir görünüm ve his kullanıyor mu? Farkı değiştirip değiştirmediğini görmek için görünümü değiştirmeyi ve hissetmeyi denediniz mi? –

+0

setProperty() öğesini çağırdıktan sonra, eşdeğer getProperty() öğesini bırakıp değeri kontrol ettiniz mi? Anladığım kadarıyla bazı özellikler sadece başlangıçta ayarlanabilir. Bunlardan biri olup olmadığından emin değilim. –

+0

Kukla bir Hello-Swing-World uygulaması hedef sistemde kenarları yumuşatılmış metinler oluşturuyor mu? –

cevap

İlgili konular