2011-04-01 12 views
6

Estoy trabajando en una aplicación bastante grande basada en Swing (JPanels, JLabels, etc.) y tengo que averiguar por qué el antialiasing de texto (en JLabels, etc.) no funciona.Java text-antialiasing: cómo depurar cuando no funciona?

Como ya sabrá, el antialiasing normalmente funciona de forma automática (con Java 1.6 de todos modos), es decir, cuando se crea una aplicación Swing simple (por ejemplo, solo un JPanel con JLabel) el texto en JLabel ser antialias fuera de la caja. No es necesario para System.setProperty("awt.useSystemAAFontSettings","on") y/o System.setProperty("swing.aatext", "true").

Pero esta aplicación es diferente, no lo hace antialias fuera de la caja, no antialias con System.setProperty("awt.useSystemAAFontSettings","on") y/o System.setProperty("swing.aatext", "true") en el main(String[] args), en tampoco con -Dawt.useSystemAAFontSettings=on y/o -Dswing.aatext=true como VM-argumentos. He intentado estas y otras sugerencias que pude encontrar en este sitio y en Internet, pero fue en vano: esta aplicación nunca se antialias, sea lo que sea que haga o no haga.

Ya no tengo opciones. Entonces mis preguntas son:

  • ¿Qué pasos puedo dar para descubrir por qué no funciona el antialiasing?
  • ¿Qué propiedades debo comprobar?
  • ¿Qué código debo rastrear con el depurador?
  • ¿Qué circunstancias podrían causar que los antialias no funcionen?

Todas las ideas son bienvenidas.

+0

¿El programa usa una apariencia personalizada? ¿Has intentado cambiar la apariencia para ver si hace la diferencia? –

+0

Después de llamar a setProperty(), ¿volcó el equivalente getProperty() y verificó el valor? Según entiendo, algunas propiedades solo se pueden configurar al inicio. No estoy seguro si ese es uno de ellos. –

+0

¿Una aplicación ficticia de Hello-Swing-World representa un texto muy suavizado en el sistema de destino? –

Respuesta

Cuestiones relacionadas