Java сглаживание текста: как отлаживать, когда не работает? - PullRequest
6 голосов
/ 01 апреля 2011

Я работаю над довольно большим Swing-приложением (JPanels, JLabels и т. Д.), И мне нужно выяснить, почему не работает сглаживание текста (на JLabels и т. Д.).

Как вы можетезнаете, сглаживание обычно работает автоматически (в любом случае с Java 1.6), то есть, когда создается простое Swing-приложение (например, просто JPanel с JLabel на нем), текст на JLabel будет сглаживаться из коробки.Нет необходимости в System.setProperty("awt.useSystemAAFontSettings","on") и / или System.setProperty("swing.aatext", "true").

Но это приложение отличается, оно не сглаживает из коробки, оно не сглаживает с System.setProperty("awt.useSystemAAFontSettings","on") и / или System.setProperty("swing.aatext", "true") вmain(String[] args), также не с -Dawt.useSystemAAFontSettings=on и / или -Dswing.aatext=true в качестве VM-аргументов.Я попробовал эти и другие предложения, которые я мог найти на этом сайте и в Интернете, но безрезультатно: это приложение просто никогда не сглаживает, что бы я ни делал или нет.

У меня нет выборасейчас.Итак, мои вопросы:

  • Какие шаги я могу предпринять, чтобы выяснить, почему не работает сглаживание?
  • Какие свойства я должен проверить?
  • Какой код я должен отслеживать с помощью отладчика?
  • Какие обстоятельства могут привести к тому, что противоядия не будут работать?

Все идеи приветствуются.

Ответы [ 2 ]

1 голос
/ 01 апреля 2011

Начиная с 1.6, похоже, что swing.aatext игнорируется . Однако, как отмечает @Andrew, awt.useSystemAAFontSettings должно работать ...

Одна из вещей, которую вы, возможно, захотите сделать, - сбросить Map для awt.font.desktophints свойства рабочего стола , чтобы посмотреть, что, если вообще что-то было установлено.

1 голос
/ 01 апреля 2011
...