Programação Java: Como usar as fontes em Java

Linguagem Java , Programação Java, Java Curso gratis.
Sim, as fontes também são consideradas elementos gráficos em Java! Ou seja, também são ‘pintadas’ no frame (paintComponent).
Por isso, nesse artigo de nossa apostila de Java vamos aprender alguns recursos interessantes das fontes em Java.

public final static int PLAIN

<td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 216.1pt;" valign="top" width="288">
   public final static int </span><span lang="EN-US" style="color: black;">BOLD</span><span lang="EN-US"></span>
  </div>
</td>

<td style="border-bottom-color: windowtext; border-bottom-width: 1pt; border-right-color: windowtext; border-right-width: 1pt; border-style: none solid solid none; padding: 0cm 5.4pt; width: 216.1pt;" valign="top" width="288">
   public final static int </span><span lang="EN-US" style="color: black;">ITALIC</span><span lang="EN-US"></span>
  </div>
</td>

<td style="border-bottom-color: windowtext; border-bottom-width: 1pt; border-right-color: windowtext; border-right-width: 1pt; border-style: none solid solid none; padding: 0cm 5.4pt; width: 216.1pt;" valign="top" width="288">

    <span lang="EN-US" style="color: #034ea3;">public </span><span lang="EN-US" style="color: black;">Font( String name,</span><span lang="EN-US" style="color: #034ea3;">int </span><span lang="EN-US" style="color: black;">style, </span><span lang="EN-US" style="color: #034ea3;">int </span><span lang="EN-US" style="color: black;">size )</span><span lang="EN-US"></span>
  </div>
</td>

<td style="border-bottom-color: windowtext; border-bottom-width: 1pt; border-right-color: windowtext; border-right-width: 1pt; border-style: none solid solid none; padding: 0cm 5.4pt; width: 216.1pt;" valign="top" width="288">
   public int </span><span style="color: black;">getStyle()</span><span lang="EN-US"></span>
  </div>
</td>

<td style="border-bottom-color: windowtext; border-bottom-width: 1pt; border-right-color: windowtext; border-right-width: 1pt; border-style: none solid solid none; padding: 0cm 5.4pt; width: 216.1pt;" valign="top" width="288">
   public int </span><span style="color: black;">getSize()</span><span lang="EN-US"></span>
  </div>
</td>

<td style="border-bottom-color: windowtext; border-bottom-width: 1pt; border-right-color: windowtext; border-right-width: 1pt; border-style: none solid solid none; padding: 0cm 5.4pt; width: 216.1pt;" valign="top" width="288">
   public </span><span style="color: black;">String getName()</span><span lang="EN-US"></span>
  </div>
</td>

<td style="border-bottom-color: windowtext; border-bottom-width: 1pt; border-right-color: windowtext; border-right-width: 1pt; border-style: none solid solid none; padding: 0cm 5.4pt; width: 216.1pt;" valign="top" width="288">
   public </span><span style="color: black;">String getFamily()</span><span lang="EN-US"></span>
  </div>
</td>

<td style="border-bottom-color: windowtext; border-bottom-width: 1pt; border-right-color: windowtext; border-right-width: 1pt; border-style: none solid solid none; padding: 0cm 5.4pt; width: 216.1pt;" valign="top" width="288">
   public boolean </span><span style="color: black;">isPlain()</span><span lang="EN-US"></span>
  </div>
</td>

<td style="border-bottom-color: windowtext; border-bottom-width: 1pt; border-right-color: windowtext; border-right-width: 1pt; border-style: none solid solid none; padding: 0cm 5.4pt; width: 216.1pt;" valign="top" width="288">
   public boolean </span><span style="color: black;">isBold()</span><span lang="EN-US"></span>
  </div>
</td>

<td style="border-bottom-color: windowtext; border-bottom-width: 1pt; border-right-color: windowtext; border-right-width: 1pt; border-style: none solid solid none; padding: 0cm 5.4pt; width: 216.1pt;" valign="top" width="288">
   public boolean </span><span style="color: black;">isItalic()</span><span lang="EN-US"></span>
  </div>
</td>

<td style="border-bottom-color: windowtext; border-bottom-width: 1pt; border-right-color: windowtext; border-right-width: 1pt; border-style: none solid solid none; padding: 0cm 5.4pt; width: 216.1pt;" valign="top" width="288">

<td style="border: 1pt solid windowtext; height: 3.5pt; padding: 0cm 5.4pt; width: 216.1pt;" valign="top" width="288">
   public </span><span style="color: black;">Font getFont()</span><span lang="EN-US"></span>
  </div>
</td>

<td style="border-bottom-color: windowtext; border-bottom-width: 1pt; border-right-color: windowtext; border-right-width: 1pt; border-style: none solid solid none; height: 3.5pt; padding: 0cm 5.4pt; width: 216.1pt;" valign="top" width="288">
   public void </span><span lang="EN-US" style="color: black;">setFont( Font f )</span><span lang="EN-US"></span>
  </div>
</td>

<td style="border-bottom-color: windowtext; border-bottom-width: 1pt; border-right-color: windowtext; border-right-width: 1pt; border-style: none solid solid none; padding: 0cm 5.4pt; width: 216.1pt;" valign="top" width="288">
   , </span>Font.ITALIC <span style="color: black;"> e </span>Font.BOLD

O Java padrão possui 5 fontes: Serif, Monospaced,SansSerif, Dialog and DialogInput

Dentro de uma classe que estende a JPanel, usamos os recursos da Font com um objeto da Graphics, como se fosse um componente para a pintura/gráficos.

Para escrevermos strings coloridas, primeiro setamos a fonte, depois usamos o método drawString(), como segue :

public void paintComponent( Graphics g)<br />{<br />                super.paintComponent(g);<br /><br />                g.setFont( new Font(“Serif”, Font.BOLD, 15) );<br />                g.drawString(“ Serif 15, negrito”, 20, 30 );<br /><br />                g.setFont( new Font(“Monospaced”, Font.ITALIC, 15) );<br />                g.drawString(“Monospaced 15, itálico”, 20, 30 );<br /><br />                g.setFont( new Font(“SansSerif”, Font.PLAIN, 15) );<br />                g.drawString(“SansSerif 15, plano”, 20, 30 );<br /><br />                g.setColor( Color.RED);<br />                g.setFont( new Font(“Serif”, Font.BOLD + Font.ITALIC, 15) );<br />                g.drawString(g.getFont().getName() + “ “+ g.getFont().getSize() + “ point negrito e itálico”, 20, 100 );<br />}<br />

Note que para a fonte estar em negrito e em itálico, passamos a soma dos argumentos:

Font.BOLD + Font.ITALIC

Prático. Bem bolado, esse Java, não?

Há ainda a classe FontMetrics, que tem métodos para manipulação da altura da fonte e espaços (height, descent, ascent e leading):

<

p> leading: distância entre a base da acentuação (^, ~, ’) e o nível superior
ascent: distância entre a base (baseline) e o teto de uma letra normal sem acentuação
descent: distância entre a base (baseline) e o limite inferior, em letras que tem ‘perna’, como y e g
height: toda a altura, desde a base da ‘perna’ até a parte de cimado acento: g ã

</div>


</div>


   Consulte a documentação do Java para saber os métodos específicos para a FontMetrics:
</div>


  http://docs.oracle.com/javase/7/docs/api/  
</div>

Tags: java, linguagem java