Porém, aplicações gráficas não são estáticas. Ao minimar, maximizar, mover de lugar, colocar a janela de outro programa por cima de nossa janela e uma infinidade de outros fatores fazem com que nosso aplicativo mude durante sua execução.
Altura e Largura
Note que no exemplo do código de nosso último artigo, criamos uma linha que vai do ponto (0,0) e vai até o ponto onde a largura (width) é 250 e a altura (height) é 250.Ou seja, aquela linha liga os pontos (0,0) até o (250,250), e só.
Tente maximizar a tela e veja o que ocorre: a linha só existe de (0,0) até o (250,250).
E se você quiser sempre uma linha que ligue a extremidade superior esquerda até a extremidade inferior direita?
Você precisará das atuais informações de tamanho da tela do aplicativo, mas o Java armazena essas informações e podemos obter esses dados através dos métodos getWidth() e getHeight().
Os métodos getWidth() e getHeight()
Usamos os métodos getWidth() e getHeigth() para pegar as informações atuais da largura e altura da janela que o usuário está visualizando.
Ou seja, sempre a linha sai da origem e termina na extremidade inferior direita, criando uma diagonal
Veja como ficou quando alongamos a tela:
Usando getWidth() e getHeight(), a linha sempre toca a ponta inferior direita |
Exemplo de código: Desenhando duas linhas em Java, usando getWidth() e getHeight()
Vamos agora, finalmente, desenhar algo em nosso frame/panel.Vamos criar uma linha que saia da origem e termine no canto inferior direito.
As coordenadas dessa linha serão: origem(0,0), fim(getWidth() , getHeight() )
E outra que vai ligar a outra diagonal.
Ou seja a origem é no (0, getHeight()) e o término da linha em (getWidth(), 0).
Concorda?
Caso tenha dúvidas no código, ele foi inteiramente explicado no artigo passado.
Nosso código para desenhar essa linha será:
-->Lines.java
import javax.swing.JFrame; public class Lines { public static void main(String[] args) { DrawLines panel = new DrawLines(); JFrame frame= new JFrame("Desenhando Linhas - Curso Java Progressivo"); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); frame.setSize( 250, 250 ); frame.setVisible( true );frame.add( panel );} }
-->DrawLines.java
import java.awt.Graphics; import javax.swing.JPanel; public class DrawLines extends JPanel{ public void paintComponent( Graphics g ){ super.paintComponent( g ); g.drawLine( 0, 0, getWidth(), getHeight() ); g.drawLine( 0, getHeight(), getWidth(), 0 ); } }Você deverá ver o seguinte desenho em sua aplicação Java:
3 comentários:
Concluído de modo, perfeito xD
Muito bom
Muito bom, aprendi bastante até aqui
Postar um comentário