Desenhar um Triângulo em Java
-
Utilize
java.awt
ejavax.swing
comPath2D
para desenhar um triângulo em Java -
Utilize
java.awt
,javax.swing
edrawPolygon
para desenhar um triângulo em Java -
Desenhar um Triângulo utilizando
drawLine()
em Java
Neste artigo, aprenderemos como desenhar um triângulo em Java. Utilizamos AWT
(Abstract Window Component Toolkit), os primeiros pacotes de desenvolvimento java para aplicações de programação gráfica. O Swing
é um novo kit de widget GUI desenvolvido para Java, baseado no AWT
e tem mais funcionalidades.
Utilize java.awt
e javax.swing
com Path2D
para desenhar um triângulo em Java
Utilizamos JFrame
na classe main
para criar a janela principal onde componentes como botões, campos de texto são adicionados para criar uma GUI (Graphical User Interface). A classe Draw_A_Triangle
estende o JPanel
, que é um recipiente leve utilizado para organizar componentes GUI. O JPanel
é adicionado a JFrames
utilizando o método frame.add()
.
A classe Triangle_Shape
estende a classe Path2D
que fornece uma forma simples mas flexível que representa um caminho geométrico arbitrário. Colocamos o primeiro ponto utilizando o método moveTo()
e pontos adicionais utilizando o método LineTo()
. O método close()
garante que o triângulo é fechado correctamente.
O método paintComponent()
é chamado automaticamente quando o painel é criado ou quando o utilizador faz algo na interface do utilizador que requer um novo desenho. O método Graphics2D
proporciona mais controlo sobre a gestão das cores, geometria e disposição do texto. Finalmente, utilizamos g2d
e chamamos draw
para desenhar um triângulo.
import java.awt.*;
import java.awt.geom.Path2D;
import java.awt.geom.Point2D;
import javax.swing.*;
public class Draw_A_Triangle extends JPanel {
public void paintComponent(Graphics g) {
Triangle_Shape triangleShape = new Triangle_Shape(
new Point2D.Double(50, 0), new Point2D.Double(100, 100), new Point2D.Double(0, 100));
Graphics2D g2d = (Graphics2D) g.create();
g2d.draw(triangleShape);
}
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("Draw Triangle");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBackground(Color.white);
frame.setSize(200, 200);
Draw_A_Triangle panel = new Draw_A_Triangle();
frame.add(panel);
frame.setVisible(true);
}
}
class Triangle_Shape extends Path2D.Double {
public Triangle_Shape(Point2D... points) {
moveTo(points[0].getX(), points[0].getY());
lineTo(points[1].getX(), points[1].getY());
lineTo(points[2].getX(), points[2].getY());
closePath();
}
}
Resultado:
Utilize java.awt
, javax.swing
e drawPolygon
para desenhar um triângulo em Java
Utilizamos JFrame
para criar um recipiente de nível superior, e depois adicionamos um painel, que é a nossa classe DrawATriangle
que lhe estende o JPanel
, a ele.
Como mostrado no código abaixo, chamamos o método drawPolygon
dentro do paintComponent
para criar um triângulo no objecto Graphics
- g
.
O método drawPolygon(int x[], int y[], int numOfPoints)
desenha um polígono de contorno de acordo com as coordenadas especificadas nos arrays x[]
e y[]
. O numOfPoints
dá o número de pontos que é 3 no caso de um triângulo.
import java.awt.*;
import javax.swing.*;
public class DrawATriangle extends JPanel {
public void paintComponent(Graphics g) {
int[] x = {50, 100, 0};
int[] y = {0, 100, 100};
g.drawPolygon(x, y, 3);
}
public static void main(String[] args) {
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame frame = new JFrame("Draw a Polygon");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setBackground(Color.white);
frame.setSize(300, 200);
DrawATriangle panel = new DrawATriangle();
frame.add(panel);
frame.setVisible(true);
}
}
Resultado:
Desenhar um Triângulo utilizando drawLine()
em Java
Na classe DrawTriangle
, estendemos JComponent
para utilizar os componentes Swing
como PintCompnent()
e JFrame
. Substituímos paintComponent(Graphics g)
pelo parâmetro Graphics
g
que podemos utilizar para chamar várias funções de desenho.
Chamamos o método drawLine()
de desenhar uma linha. Como queremos criar um triângulo com três linhas, precisamos de chamar drawLine()
três vezes. O método drawLine()
leva quatro argumentos, as coordenadas x e y tanto do primeiro como do segundo ponto da linha.
O método getPreferredSize()
é chamado com o tipo de retorno de Dimension
para especificar as dimensões da janela. Finalmente, para exibir o triângulo, criamos um objecto JFrame
no método main
e adicionamos-lhe o objecto da classe DrawTriangle
. Note-se que temos de chamar jFrame.setVisible(true)
, uma vez que a moldura é inicialmente invisível.
import java.awt.*;
import javax.swing.*;
public class DrawTriangle extends JComponent {
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawLine(120, 130, 280, 130);
g.drawLine(120, 130, 200, 65);
g.drawLine(200, 65, 280, 130);
}
public Dimension getPreferredSize() {
return new Dimension(500, 300);
}
public static void main(String[] args) {
JFrame jFrame = new JFrame();
jFrame.add(new DrawTriangle());
jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
jFrame.pack();
jFrame.setVisible(true);
}
}
Resultado:
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn