Comment utiliser le programme de ShapeMaker en java

Le programme de ShapeMaker repose sur une technique très utile pour tout programme Java qui travaille avec plus de quelques formes. Au lieu de créer et dessiner chaque forme séparément dans le peindre Procédé, le programme mémorise les formes dans un ArrayList objet de type Forme. Les formes sont créés dans le PaintComponent constructeur, afin que le code qui crée les formes est exécutée une seule fois.




Ensuite, dans la peindre Procédé, un renforcée pour boucle est utilisé pour dessiner chaque forme dans le ArrayList. Cette technique est particulièrement utile pour les programmes qui permettent à l'utilisateur de dessiner des formes. Chaque fois que l'utilisateur dessine une nouvelle forme, il vous suffit d'ajouter la forme à la ArrayList. Ensuite, lorsque le peindre méthode est appelée, toutes les formes sont dessinées.

javax.swing d'importation * -. java.awt.event d'importation * - import java.awt. * -. importation java.awt.geom * -. java.util d'importation * -. public class extends JFrame {ShapeMaker public static void main ( String [] args) {nouvelle ShapeMaker () -} ShapeMaker publique () {this.setSize (300, 300) -this.setTitle ("Shape Maker") - this.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) -this.add (nouvelle PaintSurface (), BorderLayout.CENTER) -this.setVisible (true) -} PaintSurface de classe privée étend JComponent {ArrayList formes = new ArrayList() -Point StartDrag, s EndDrag-Forme trouvé = null-publique PaintSurface () {Forme - // une rectangles = new Rectangle2D.Float (10, 10, 60, 80) -shapes.add (s) - // une rectangles arrondis = new RoundRectangle2D.Float (110, 10, 80, 80,10, 10) -shapes.add (s) - // une rectangles arrondis = new RoundRectangle2D.Float (210, 10, 60, 80, 50, 75 ) -shapes.add (s) - // a cercles = new Ellipse2D.Float (10, 110, 80, 80) -shapes.add (s) - // Un ellipses = new Ellipse2D.Float (110, 110, 80 , 40) -shapes.add (s) - // autre ellipses = new Ellipse2D.Float (210, 110, 40, 80) -shapes.add (s) - // Un arcs = new Arc2D.Float (10, 210 , 80, 80, 90, 90, Arc2D.OPEN) -shapes.add (s) - // autres arcs = Arc2D.Float nouveau (110, 210, 80, 80, 0, 180, Arc2D.CHORD) -shapes. ajouter (s) - // autres arcs = new Arc2D.Float (210, 210, 80, 80, 45, 90, Arc2D.PIE) -shapes.add (s) -} public void peinture (Graphics g) {Graphics2D g2 = (Graphics2D) g - // active le antialiasingg2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON)-// Dessiner le fond gridg2.setPaint (Color.LIGHT_GRAY) -pour (int i = 0 à i lt; getSize () Largeur- i + = 10) g2.draw (nouvelle Line2D.Float (i, 0, i, getSize () de hauteur.)) -. for (int i = 0 à i lt; . getSize () en hauteur i + = 10) g2.draw (nouvelle Line2D.Float (0, i, getSize () largeur, i.)) - // tirer toutes les formes de la matrice listg2.setColor (Color.BLACK ) -g2.setStroke (nouvelle BasicStroke (2)) - pour (s Forme: formes) g2.draw (s) -}}}

» » » » Comment utiliser le programme de ShapeMaker en java