Como desenhar fontes true type sem serrilhado? [Resolvido]

5 respostas
S

Boa tarde a todos.

Estou testando alguma forma de imprimir essa fonte de nota musicais. Se eu adiciona-la a um JLabel, funciona legal, mas se eu usar o médoto drawString a fonte fica toda serrilhada. Alguem conhece alguma forma de resolver isso pois gostaria de desenha-las?

Desde já obrigado.

segue o que estou fazendo:
protected Font getMyFont(float size) {
	File arquivo = null;
	Font font    = null;
	try {
		arquivo = new File("MusiSync.ttf"); // Musical Font ttf
		try {
			font = Font.createFont(Font.TRUETYPE_FONT,arquivo);
		}
		catch(FontFormatException e) {
			e.printStackTrace();
		}		
		} catch(IOException e) { e.printStackTrace();}
		return font.deriveFont(size); //@=) Redefine a fonte com o valor de size
}
	
public void paint(Graphics g) {
	Graphics2D g2d = (Graphics2D) g.create();   
	this.myFont = this.getMyFont(100f);
	g2d.setFont(this.myFont);
	g2d.setFont(myFont);
	g2d.drawString("K",150,150);
	System.out.println("Passei aqui!");
}

5 Respostas

E
Graphics2D g2d = (Graphics2D) g.create();  
    g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, // Anti-alias!
        RenderingHints.VALUE_ANTIALIAS_ON);
...
...
...
   g2d.dispose(); // não se esqueça de dar dispose se você der create
S

[color=darkred][/color]Funcionou perfeitamente! Muito obrigado! :smiley:

ViniGodoy

Lembre-se também que se seu componente for filho de JComponent (incluindo JPanel), você deve sobrescrever o método paintComponent e não o método paint.

Só se for um filho de JApplet, JDialog ou JFrame, sobrescreva o paint.

Não sobrescreva o paint de JInternalPanes.

S

ViniGodoy:
Lembre-se também que se seu componente for filho de JComponent (incluindo JPanel), você deve sobrescrever o método paintComponent e não o método paint.
Só se for um filho de JApplet, JDialog ou JFrame, sobrescreva o paint.
Não sobrescreva o paint de JInternalPanes.

Vini, sei que este tópico já está resolvido… mas gostaria de entender sobre isso que você mencionou. Recomenda alguma leitura ou tópico do forum mesmo?

Obrigado!

ViniGodoy

Ponto V! - Conhecendo o JFrame
Painting in AWT and Swing - The paint methods

Criado 18 de outubro de 2010
Ultima resposta 19 de out. de 2010
Respostas 5
Participantes 3