Disegna un triangolo in Java
-
Usa
java.awt
ejavax.swing
conPath2D
per disegnare un triangolo in Java -
Usa
java.awt
,javax.swing
edrawPolygon
per disegnare un triangolo in Java -
Disegna un triangolo usando
drawLine()
in Java
In questo articolo impareremo come disegnare un triangolo in Java. Usiamo AWT
(Abstract Window Component Toolkit), i primi pacchetti di sviluppo java per applicazioni di programmazione grafica. Swing
è un kit di widget GUI di nuova concezione per Java, basato su AWT
e dotato di più funzionalità.
Usa java.awt
e javax.swing
con Path2D
per disegnare un triangolo in Java
Usiamo JFrame
nella classe main
per creare la finestra principale dove vengono aggiunti componenti come pulsanti, campi di testo per creare una GUI (Graphical User Interface). La classe Draw_A_Triangle
estende JPanel
, che è un contenitore leggero utilizzato per organizzare i componenti della GUI. JPanel
viene aggiunto a JFrames
utilizzando il metodo frame.add()
.
La classe Triangle_Shape
estende la classe Path2D
che fornisce una forma semplice ma flessibile che rappresenta un percorso geometrico arbitrario. Posizioniamo il primo punto usando il metodo moveTo()
e altri punti usando il metodo LineTo()
. Il metodo close()
assicura che il triangolo sia chiuso correttamente.
Il metodo paintComponent()
viene chiamato automaticamente quando il pannello viene creato o quando l’utente fa qualcosa nell’interfaccia utente che richiede il ridisegno. La Graphics2D
fornisce un maggiore controllo sulla gestione del colore, la geometria e il layout del testo. Infine, usiamo g2d
e chiamiamo draw
per disegnare un triangolo.
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();
}
}
Produzione:
Usa java.awt
, javax.swing
e drawPolygon
per disegnare un triangolo in Java
Usiamo JFrame
per creare un contenitore di primo livello, quindi aggiungiamo un pannello, che è la nostra classe DrawATriangle
che estende JPanel
ad esso.
Come mostrato nel codice sottostante, chiamiamo il metodo drawPolygon
all’interno di paintComponent
per creare un triangolo sull’oggetto Graphics
g
.
Il metodo drawPolygon(int x[], int y[], int numOfPoints)
disegna un poligono di contorno secondo le coordinate specificate negli array x[]
e y[]
. Il numOfPoints
fornisce il numero di punti che è 3 nel caso di un triangolo.
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);
}
}
Produzione:
Disegna un triangolo usando drawLine()
in Java
Nella classe DrawTriangle
, estendiamo JComponent
per utilizzare i componenti Swing
come paintCompnent()
e JFrame
. Sostituiamo paintComponent(Graphics g)
con il parametro Graphics
g
che possiamo usare per chiamare diverse funzioni di disegno.
Chiamiamo il metodo drawLine()
per disegnare una linea. Dato che vogliamo creare un triangolo di tre linee, dobbiamo chiamare tre volte drawLine()
. drawLine()
accetta quattro argomenti, le coordinate x e y sia del primo che del secondo punto della linea.
Il metodo getPreferredSize()
viene chiamato con il tipo di ritorno Dimension
per specificare le dimensioni della finestra. Infine, per visualizzare il triangolo, creiamo un oggetto JFrame
nel metodo main
e vi aggiungiamo l’oggetto della classe DrawTriangle
. Nota che dobbiamo chiamare jFrame.setVisible(true)
poiché il frame è inizialmente invisibile.
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);
}
}
Produzione:
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