Java AWT - Dessin d'un rectangle, d'une ligne et d'un cercle
Les bibliothèquesjava.awt
sont un ensemble de classes fournies par Java afin de dessiner des formes sur une fenêtre. L'abréviation AWT signifie Abstract Windowing Toolkit. Aujourd'hui, la bibliothèque a été convertie en un énorme ensemble de classes qui permet à l'utilisateur de créer une application entièrement basée sur une interface graphique. L'apparence visuelle de ces classes dépend de la plate-forme sur laquelle l'application s'exécute.
La plus élémentaire de toutes les classes est la bibliothèquejava.awt.geom
qui est utilisée pour dessiner des formes géométriques simples. Cet article explique le code pour dessiner des formes simples comme Rectangle, Ligne, Cercle, etc.
JFrame & JPanelJFrame
etJPanel
sont des classes appartenant àjavax.swing libraries
. La bibliothèque Swing est créée au-dessus de la pile de bibliothèques AWT. JFrame
est une fenêtre comme un conteneur qui contient les différents composants ensemble dans une fenêtre. JPanel
est un conteneur qui s'insère à l'intérieur d'unJFrame
et aide au regroupement des composants.
Ici, dans le code ci-dessous, nous avons utiliséJFrame
etJPanel
pour contenir nos objets de forme.
Exemple de dessin AWT
Passons maintenant au sujet principal du dessin de formes à l'aide des bibliothèques AWT. Cepage montre les différentes classes disponibles pour dessiner des formes. Le nom des classes explique clairement quelles sont les formes possibles qui peuvent être dessinées.
DrawShapes.java
package com.example; import java.awt.Dimension; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Rectangle; import java.awt.Shape; import java.awt.geom.Ellipse2D; import java.awt.geom.Line2D; import java.awt.geom.RoundRectangle2D; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.SwingUtilities; public class DrawShapes extends JFrame { private static final long serialVersionUID = 1L; public DrawShapes() { setSize(new Dimension(320, 320)); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); JPanel p = new JPanel() { @Override public void paintComponent(Graphics g) { Graphics2D g2 = (Graphics2D) g; Shape line = new Line2D.Double(3, 3, 303, 303); Shape rect = new Rectangle(3, 3, 303, 303); Shape circle = new Ellipse2D.Double(100, 100, 100, 100); Shape roundRect = new RoundRectangle2D.Double(20, 20, 250, 250, 5, 25); g2.draw(line); g2.draw(rect); g2.draw(circle); g2.draw(roundRect); } }; setTitle("My Shapes"); this.getContentPane().add(p); } public static void main(String arg[]) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { // TODO Auto-generated method stub new DrawShapes(); } }); } }
Sortie:
Le code ci-dessus dessine une ligne, un rectangle, un cercle et un rectangle arrondi. Les arguments généralement transmis aux constructeurs incluent les coordonnées, la largeur et la hauteur dans le cas d'objets linéaires. Dans le cas de formes arrondies comme Ellipse ou Arc, les arguments passés incluent les coordonnées de l'origine et la largeur et la hauteur de la forme. En exécutant le code, la sortie est obtenue sous la forme d'une fenêtre comme indiqué ci-dessous.
Vous pouvez obtenir plus de détails sur les différents types de constructeurs et de formes disponibles dans les bibliothèques AWT en utilisant les références ci-dessous.