3. Gráficos

Para usar as potencialidades gráficas da Java temos que utilizar o package Abstract Window Toolkit, tendo que o indicar no início do programa:

import java.awt.*


3.1 Tamanho do applet

O applet quando é chamado pelo HTML é chamado com o tamanho indicado na página HTML, mas quando é chamado pelo appletviewer (aplicação para ver um applet) ele é chamado com o tamanho inserido em comentário no início do código. O tamanho do applet pode ser alterado enquanto o programa corre, por exemplo se quisermos alterar para largura w e altura h fazemos:

resize(w, h);


3.2 Cor

O Java usa o sistema de cores RGB por defeito e suporta cores a 24 bits, ou seja ‘True Color’, e pode-se definir uma cor do seguinte modo:

Color cor = new Color(int r, int g, int b);

em que r, g e b variam entre 0 e 255 perfazendo os 24 bits.

O Java também suporta o sistema de cores HSB (Hue - cor, Saturation - saturação, Brightness - brilho), tendo inclusive métodos para fazer a tradução de HSB para RGB e vice-versa, HSBtoRGB(float, float, float) e RGBtoHSB(int, int, int, float[]).


3.3 Métodos gráficos simples

O sistema de coordenadas do Java tem como ponto (0, 0) o ponto superior mais á esquerda, sendo todos os pontos do applet positivos.

A classe Graphics tem uma série de métodos muito simples que deverão ser utilizados dentro do método paint() do seguinte modo:

public void paint(Graphics g) {
g.drawLine(5, 10, 15, 20);
}

fazendo este uma linha com início no ponto (5, 10) e com comprimento (15, 20).

Temos ainda os seguintes métodos:

drawRect(int x, int y, int width, int height);
drawOval(int x, int y, int width, int height);
drawArc(int x, int y, int width, int height);

que fazem respectivamente rectângulos, ovais e arcos. Para fazer um polígono com vários pontos utilizamos o método abaixo onde no primeiro parâmetro devem ser inseridos os valores do eixo x, no segundo do eixo y e no terceiro o número de pontos.

drawPolygon(int[], int[], int);

Se se quiser que todos estes objectos tenham o seu interior preenchido utilizam-se métodos idênticos só que com fill onde está draw.


3.4 Fontes

O construtor Font cria uma nova fonte com o nome, o estilo e o tamanho especificado.

Font novaFonte = new Font("Helvetica", Font.Bold, 24);

O método setFont(novaFonte) estabelece a fonte novaFonte como fonte actual e para escrever o texto str na fonte actual faz-se:

drawString(String str, int width, int height);

onde os inteiros width e height indicam o ponto superior esquerdo onde deve começar a ser escrito o texto.


3.5 Exemplo