Para mostrar melhor como usar linhas em programação gráfica em Java, vamos ensinar e mostrar o código de diversos programas que geram belas figuras, como essa abaixo.Para isso, vamos usar o código de nosso aplicativo do artigo sobre desenho de linhas.
Caso não tenha visto, pegue o código em nosso tutorial sobre como criar linhas em Java.
Para criar esses desenhos, vamos apenas alterar o conteúdo do método paintComponent.
Caso não tenha visto, pegue o código em nosso tutorial sobre como criar linhas em Java.
Para criar esses desenhos, vamos apenas alterar o conteúdo do método paintComponent.
Primeiro desenho:
Bonito não?
Parece complicado, mas é bem simples.
Criamos aqui, várias linhas. Somente linhas.
A primeira linha começa no ponto (0,0) e vai até (0, getHeight() ).
A segunda começa um pouco mai abaxo, em (0, 10) e vai até (10, getHeight() ).
A terceira começa mais abaixo, em (0,20) e vai até (20, getHeight() ).
...
A última linha começa em (0, getHeight() ) e termina em (getHeight() , getHeight() )
Ou seja, criamos linha que começam na lateral esquerda (width=0), na origem, e tocam a parte inferior do frame (height = getHeight() ).
A cada iteração, vamos a origem descer em 10 pixels, ao passo que o final da linha vai crescendo, na horizontal, de 10 em 10 também.
Então, a origem vai decendo de 10 em 10, e o final da linha vai pra direita, de 10 em 10 também.
O código do método paintComponent para produzir tal figura, é:
public void paintComponent( Graphics g ) { super.paintComponent( g ); int pixel=0; for(pixel=0 ; pixel <= getHeight() ; pixel += 10){ g.drawLine(0, pixel, pixel, getHeight()); } }
Segundo desenho:
O que vamos fazer agora se assemelha ao desenho anterior.
Agora a origem das retas está na borda inferior.
A primera linha começa em (0, getHeight() ) e termina em (0, 0).
Depois essa origem sobe e o fim vai pra direita, e começa em (0, getHeight() - 10), e termina em (10, 0).
A terceira linha continua a subir com sua origem, agora em (0, getHeight() -20) e seu fim vai mais pra direita, terminando em (20, 0).
...
Logo, o código do método paintComponent pra gerar essa figura é:
public void paintComponent( Graphics g ){ super.paintComponent( g ); int pixel=0; for(pixel=getHeight() ; pixel >=0 ; pixel -= 10){ g.drawLine(0, pixel, getHeight() - pixel, 0); } }Unindo os dois códigos, o método paintComponent será:
public void paintComponent( Graphics g ){ super.paintComponent( g ); int pixel=0;
for(pixel=0 ; pixel <= getHeight() ; pixel += 10){
g.drawLine(0, pixel, pixel, getHeight());
}
for(pixel=getHeight() ; pixel >=0 ; pixel -= 10){
g.drawLine(0, pixel, getHeight() - pixel, 0);
}
}
Que resulta no belo desenho:
Exercício:
Com base no que foi criado e ensinado nesse artigo, programe um aplicativo em Java que gere o seguinte desenho, usando apenas linhas atráves do método drawLine:Tente até a morte. Após algumas horas quebrando a cabeça sem conseguir gerar o desenho, clique no botão a seguir e veja o código.
Mas lembre-se: só se aprende tentando.
4 comentários:
UMA CRIANÇA OU UM ADOLESCENTE SUPERDOTADO É CAPAZ DE FAZER NÃO SÓ PROGRAMAS PARA DESENHOS SIMPLES, MAS TAMBÉM PROGRAMAS PARA DESENHOS EXTREMAMENTE COMPLEXOS!!!
Nem precisa ser "superdotado" não, basta ser esforçado e persistente.
Boa parte dos programadores começaram seus estudos e interesse nessa área ainda bem jovens.
Esse curso tem me ajudado muito, muito obrigado!
fiz esse desenho :P
http://www.4shared.com/photo/JJcgSs2rba/Sem_ttulo.html
Postar um comentário