Java - Anti-aliasing de fontes em aplicações gráficas

Publicado por Leandro Nkz em 06/05/2013

[ Hits: 8.837 ]

Blog: http://brweatherproject.blogspot.com/

 


Java - Anti-aliasing de fontes em aplicações gráficas



Olá a todos!

Nesta pequena e rápida dica irei mostrar como habilitar o anti-aliasing de fontes em aplicações gráficas feitas em Java.

Aqui um exemplo:
Linux: Java - Anti-aliasing de fontes em aplicações gráficas
Esta simples calculadora fica com um aspecto muito feio se executada no GNU/Linux, mas fica normal se executada no Windows.

Mais um exemplo, agora prático:

Crie um arquivo "Teste.java" com o seguinte conteúdo:

import javax.swing.JOptionPane;

public class Teste {
    public static void main(String[] args) {
        JOptionPane.showMessageDialog(null, "Este é um teste de FONTE!", "Teste", JOptionPane.PLAIN_MESSAGE);
        System.exit(0);
    }
}

Compile (se você tiver o Java JDK instalado):

javac Teste.java

Execute:

java Teste

Repare que a fonte está serrilhada.

Para corrigir, há três maneiras:

1. A difícil:

Executar o arquivo java passando o parâmetro "-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true". No nosso exemplo, ficaria:

java -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true Teste

Mas este modo é inviável, especialmente se executamos vários programas Java diferentes.

2. A personalizada:

Adicionar este parâmetro no seu arquivo .bashrc, através da variável _JAVA_OPTIONS:

export _JAVA_OPTIONS="-Dawt.useSystemAAFontSettings=on -Dswing.aatext=true"

Assim, toda vez que você executar um programa Java, automaticamente ele setará esta opção, inclusive se você executar a aplicação dentro de uma IDE (como o Eclipse, por exemplo).

Obs.: não se esqueça de efetuar logoff/logon para que as mudanças façam efeito.

3. A correta:

Altere o arquivo Java*!

*Isso se você for o próprio desenvolvedor do programa, rs.

Assim, o anti-aliasing já estará ativado por padrão, no próprio aplicativo, sem a necessidade do usuário final configurar algo.

Para isso, simplesmente adicione os parâmetros:

System.setProperty("swing.aatext", "true" );
System.setProperty("awt.useSystemAAFontSettings","on");

Dentro da classe main, antes de chamar a sua aplicação. O nosso exemplo Teste.java ficaria assim:

import javax.swing.JOptionPane;

public class Teste {
    public static void main(String[] args) {
        System.setProperty("swing.aatext", "true" );
        System.setProperty("awt.useSystemAAFontSettings","on");
        JOptionPane.showMessageDialog(null, "Este é um teste de FONTE!", "Teste", JOptionPane.PLAIN_MESSAGE);
        System.exit(0);
    }
}

Para finalizar, eis a calculadora com anti-aliasing ativado (bem melhor, não? =)):
Linux: Java - Anti-aliasing de fontes em aplicações gráficas
Referências:
Dica também publicada no Mundo GNU:
Outras dicas deste autor

LibreOffice - Corrigindo aspas duplas/simples

Habilitando busca incremental de comandos no terminal GNU/Linux

Como Adicionar a Search Engine do VOL na Search Bar do Firefox

Como editar, renomear entradas e inserir uma imagem de fundo no Grub 2 com o Grub Customizer

Solução para Kernel panic em Dual-boot com Grub2 para Mandriva-Mageia

Leitura recomendada

Instalar Java no Debian Lenny 5

Um problema raro, mas que pode acontecer com você usando NextLine()

Convertendo tipo "data" para "calendar" em Java

Como converter ASCII para char ou char para ASCII em Java

Instalando Java no Ubuntu

  

Comentários
[1] Comentário enviado por _andre_galdino em 09/05/2013 - 08:34h

Parabéns cara.
Muito boa a dica.

[2] Comentário enviado por leandro em 09/05/2013 - 15:07h

Obrigado! =)

[3] Comentário enviado por removido em 22/03/2014 - 22:13h

é o que eu tava procurando. valeu cara!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts