A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa - Tutoriais e Programação

Java - Entendendo fontes

Ter

7

Abr

2009


13:38

(5 votos, média 4.80 de 5) 


Nível intermediário

Em Java, as fontes precisam ser criadas para que possam ser usadas. Este tutorial mostra como obter informações, criar e usar fontes para "desenhar" texto num applet.

Criando fontes

Use o construtor Font para criar objetos Font de diferentes nomes, estilos e tamanhos. O formato do construtor é

Font( String nome, int estilo, int tamanho );
  • O primeiro parâmetro especifica o nome da fonte, por exemplo, "Arial" ou "Comic Sans".
  • O segundo parâmetro é um número inteiro que indica o estilo da fonte. Podemos utilizar números ou as variáveis predefinidas Font.PLAIN (normal), Font.BOLD (negrito), Font.ITALIC (itálico) ou combinações como Font.BOLD + Font.ITALIC.
  • O terceiro parâmetro especifica o tamanho da fonte.

Exemplo:

Font minhaFonte = new Font("Courier", Font.PLAIN, 14);

Fontes disponíveis em Java

A Java define 5 nomes de fontes independentes de plataforma: Courier, Dialog, Helvetica, TimesRoman e Symbol. Quando um applet cria um objeto Font, a Java transforma a fonte em uma fonte dependente de plataforma - por exemplo, a Java transforma a fonte Helvetica na fonte Arial sob o Windows.

Pode-se especificar qualquer nome de fonte mas, se a fonte não estiver disponível, a Java escolherá uma das que estejam à disposição.

Obtendo a lista de fontes disponíveis

Para obter uma lista das fontes disponíveis pode-se utilizar o método getFontList da classe Toolkit, que retorna um array de strings com o nome de todas as fontes disponíveis:

String listaDeFontes[ ] = getToolkit( ).getFontList( );

Este método foi substituído pelo método getLocalGraphicsEnvironment da classe GraphicsEnvironment na Java 2 Platform SE versão 1.3:

String listaDeFontes[ ] = GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames( );

Ambos os métodos funcionam igualmente bem. Seu uso depende da plataforma que você estiver utilizando.

Desenhando com fontes

Após definir as fontes que serão utilizadas, pode-se desenhar as mesmas no método paint() de um applet:

public void paint(Graphics g) { g.setFont(f1); g.drawString("Desenhando com a fonte f1", 5, 10); g.setFont(f2); g.setColor(Color.red); g.drawString("Desenhando em vermelho com a fonte f2", 5, 20); }

Obtendo informações sobre uma fonte

Algumas vezes se torna necessário obter informações sobre a fonte que estiver em uso. Neste caso, utiliza-se os métodos de um objeto da classe Font obtido através de uma chamada ao método getFont() da classe Component. Exemplo:

... Font minhaFonte = getFont(); String nome = minhaFonte.name; int tamanho = minhaFonte.getSize(); int estilo = minhaFonte.getStyle(); boolean negrito = minhaFonte.isBold(); boolean italico = minhaFonte.isItalic(); boolean normal = minhaFonte.isPlain(); ...

Medidas de fonte

Medidas de fonte

Informações sobre medidas de fonte

Para obter informações sobre as medidas de uma fonte utiliza-se o método getFontMetrics ou o construtor FontMetrics. A seguir, um exemplo usando o contrutor:

... Font f1 = Font("Courier", Font.BOLD, 14); FontMetrics fm = getFontMetrics(f1);

O objeto FontMetrics fm possui vários métodos que fornecem informações sobre as medidas da sua fonte:

  • fm.getAscent( ); retorna o valor do ascendente.
  • fm.getDescent( ); retorna o valor do descendente.
  • fm.getLeading( ); retorna o valor do avanço.
  • fm.getHeight( ); retorna a altura da fonte.
  • fm.charWidth('H'); retorna a largura do caracter passado como parâmetro char.
  • fm.stringWidth("Java NumaBoa"); retorna a largura da string indicada.

Sublinhando texto

Para sublinhar texto é preciso desenhar a linha abaixo do texto desejado porque o pacote AWT da Java não possui o estilo sublinhado. O mesmo vale para o estilo riscado (texto com um risco no meio). O exemplo a seguir deve facilitar:

... Font f1 = new Font("Helvetica", Font.BOLD, 16); String s = "Java NumaBoa"; ... public void paint(Graphics g) { int comprString = getFontMetrics(f1).stringWidth(s); g.setFont(f1); g.drawString(s, 5, 30); g.drawLine(5, 31, 5 + comprString, 31); }

Observação

Sei que este texto é bastante teórico e, como tudo que é teórico, é difícil de engolir. Mas não desanime. Nos próximos tutoriais veremos como transformar esta teoria em prática e você pode voltar para este tutorial apenas para tirar alguma dúvida que porventura aparecer.

вулкан удачи бесплатнолучшие карандаши для глазлобановский александрcrm freshofficeграница крымотзывы nikas лобановский александр

Informações adicionais