Informática NumaBoa Aprenda Java fazendo Applets
Conceitos Avançados:
ENTENDENDO FONTES

Notice: Undefined variable: idx in /home/numaboa.com.br/public_html/informatica/java/head.php on line 19
Java NumaBoa



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 pre-definidas 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

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

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


OBTENDO UMA LISTA DAS FONTES DISPONÍVEIS

Para se 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

OBTENDO INFORMAÇÕES SOBRE AS MEDIDAS DE UMA 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. Da mesma forma, é preciso produzir 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);
   }



| AAAA | Página Inicial | Mapa do Site | Novidades | Busca | Indique esta página | Mestre da Teia | Voltar |
| Localizador || @ Info NumaBoa > Java NumaBoa > Entendendo Fontes
Créditos: vovó Vicki

webdesign sobMedida by vickiSoft - /informatica/java/fontes.php (02.01.01) versão 1.1 de 12.07.03
Licença Creative Commons 1998-2006 Aldeia NumaBoa
Exceto onde especificamente declarado, todo material deste site é disponibilizado de acordo com a Licença Creative Commons.