2011-04-01 86 views
6

我正在研究一個相當大的基於Swing的應用程序(JPanels,JLabels等),我必須找出爲什麼文本抗鋸齒(在JLabels等)不起作用。如你所知,反鋸齒通常自動工作(無論如何是Java 1.6),也就是說,當創建一個簡單的Swing應用程序(例如,只有一個帶有JLabel的JPanel)時,JLabel上的文本將會開箱即可抗鋸齒。不需要System.setProperty("awt.useSystemAAFontSettings","on")和/或System.setProperty("swing.aatext", "true")Java文本抗鋸齒:如何調試時不工作?

但這個程序是不同的,它沒有抗鋸齒開箱即用,它與在main(String[] args)System.setProperty("awt.useSystemAAFontSettings","on")和/或System.setProperty("swing.aatext", "true")沒有反鋸齒,在還沒有與-Dawt.useSystemAAFontSettings=on和/或-Dswing.aatext=true爲VM-參數。我試過了這些和其他所有的建議,我可以在這個網站和互聯網上找到,但無濟於事:這個應用程序從來沒有反正統,無論我做或不做。

我現在沒有選擇。所以我的問題是:

  • 我可以採取哪些措施來找出抗鋸齒失效的原因?
  • 我應該檢查哪些屬性?
  • 應該用調試器跟蹤哪些代碼?
  • 什麼情況可能會導致抗鋸齒失效?

歡迎提供所有見解。

+0

程序是否使用自定義外觀?你有沒有嘗試改變外觀和感覺,看看它是否有所作爲? – 2011-04-01 13:00:14

+0

在調用setProperty()之後,是否轉儲了等價的getProperty()並檢查值?我的理解是,一些屬性只能在啓動時設置。我不確定這是否是其中之一。 – 2011-04-01 13:48:20

+0

虛擬Hello-Swing-World應用程序是否在目標系統上呈現出很好的反鋸齒文本? – 2011-04-01 15:03:21

回答