Você está aqui: Java ::: Pacote java.awt ::: Graphics |
Como desenhar polylines em um JPanel do Java Swing usando o método drawPolyline() da classe GraphicsQuantidade de visualizações: 641 vezes |
Polylines, ou polilinhas, são sequências de pontos conectados por retas. Se os pontos inicial e final da polilinha estiverem conectados uns aos outros, estamos falando de um polígno. Polylines são desenhadas em Java, mais especificamente na superfície de um controle visual (como JPanel), usando o método drawPolyline() da classe Graphics do pacote java.awt. Este método requer o vetor de coordenadas x, o vetor de coordenadas y e o tamanho de um dos vetores. Veja um programa Java Swing completo no qual temos dois arrays de inteiros, um para os valores de x e outro para os valores de y. Em seguida fornecemos estes dois vetores para o método drawPolyline(): package estudos; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.Graphics; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.SwingUtilities; class AreaDesenho extends JPanel { // construtor da classe public AreaDesenho(){ // definimos a cor de fundo this.setBackground(Color.WHITE); } @Override public void paintComponent(Graphics graphics) { super.paintComponent(graphics); // vamos criar o vetor de coordenadas x int valores_x[] = {90, 390, 400, 220, 290, 30}; // vamos criar o vetor de coordenadas y int valores_y[] = {40, 130, 380, 240, 410, 350}; // e agora desenhamos as polilinhas graphics.drawPolyline(valores_x, valores_y, valores_x.length); } } // classe principal public class Estudos extends JFrame{ // construtor da classe public Estudos(){ super("Gráficos em Java Swing"); Container c = getContentPane(); c.setLayout(new BorderLayout()); // vamos adicionar o JPanel na tela principal AreaDesenho areaDesenho = new AreaDesenho(); this.add(areaDesenho, BorderLayout.CENTER); this.setSize(600, 480); // vamos centralizar a janela na tela this.setLocationRelativeTo(null); // mostra a janela principal this.setVisible(true); } public static void main(String args[]){ SwingUtilities.invokeLater(() -> { Estudos app = new Estudos(); app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }); } } Ao executar este programa Java Swing nós teremos o seguinte resultado: ![]() Note que, se um dos vetores for maior que o outro, o programa vai gerar um erro do tipo: java.lang.ArrayIndexOutOfBoundsException: coordinate array length |
![]() |
Desafios, Exercícios e Algoritmos Resolvidos de Java |
Veja mais Dicas e truques de Java |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |