Java Language Exemple 1: Dessiner et remplir un rectangle à l'aide de Java


Exemple

C'est un exemple qui imprime un rectangle et remplit une couleur dans le rectangle. https://i.stack.imgur.com/dlC5v.jpg entrer la description de l'image ici

La plupart des méthodes de la classe Graphics peuvent être divisées en deux groupes de base:

  1. Méthodes de dessin et de remplissage vous permettant de rendre des formes, du texte et des images de base
  2. Méthodes de paramétrage des attributs, qui affectent la manière dont le dessin et le remplissage apparaissent

Exemple de code: Commençons par un petit exemple de dessin d'un rectangle et d'une couleur de remplissage. Là, nous déclarons deux classes, une classe est MyPanel et une autre classe est Test. Dans la classe MyPanel, nous utilisons les méthodes drawRect () & fillRect () pour dessiner un rectangle et y insérer la couleur. Nous définissons la couleur par la méthode setColor (Color.blue). Dans Second Class, nous testons notre graphique, qui est la classe de test, nous créons un Frame et y ajoutons MyPanel avec p = new objet MyPanel (). En exécutant Test Class, nous voyons un rectangle et un rectangle rempli de couleur bleue.

Première classe: MyPanel

import javax.swing.*;
import java.awt.*;
// MyPanel extends JPanel, which will eventually be placed in a JFrame
public class MyPanel extends JPanel { 
    // custom painting is performed by the paintComponent method
    @Override
    public void paintComponent(Graphics g){
        // clear the previous painting
        super.paintComponent(g);
        // cast Graphics to Graphics2D
        Graphics2D g2 = (Graphics2D) g;
        g2.setColor(Color.red); // sets Graphics2D color
        // draw the rectangle
        g2.drawRect(0,0,100,100); // drawRect(x-position, y-position, width, height)
        g2.setColor(Color.blue);
        g2.fillRect(200,0,100,100); // fill new rectangle with color blue
    } 
}

Deuxième classe: test

import javax.swing.;
import java.awt.;    
public class Test { //the Class by which we display our rectangle    
    JFrame f;    
    MyPanel p;    
    public Test(){    
        f = new JFrame();    
        // get the content area of Panel.    
        Container c = f.getContentPane();    
        // set the LayoutManager
        c.setLayout(new BorderLayout());        
        p = new MyPanel();    
        // add MyPanel object into container    
        c.add(p); 
        // set the size of the JFrame
        f.setSize(400,400);    
        // make the JFrame visible
        f.setVisible(true);    
        // sets close behavior; EXIT_ON_CLOSE invokes System.exit(0) on closing the JFrame
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);    
    }       
    
    public static void main(String args[ ]){    
        Test t = new Test();     
    } 
}

Pour plus d'explications sur la disposition des bordures: https://docs.oracle.com/javase/tutorial/uiswing/layout/border.html

paintComponent ()

  • C'est une méthode principale pour peindre
  • Par défaut, il peint d'abord l'arrière-plan
  • Après cela, il effectue une peinture personnalisée (cercle de dessin, rectangles, etc.)

Graphic2D fait référence à la classe Graphic2D

Remarque: L'API Java 2D vous permet d'effectuer facilement les tâches suivantes:

  • Tracez des lignes, des rectangles et toute autre forme géométrique.
  • Remplissez ces formes avec des couleurs solides ou des dégradés et des textures.
  • Dessinez du texte avec des options pour un contrôle précis de la police et du processus de rendu.
  • Dessinez des images, en appliquant éventuellement des opérations de filtrage.
  • Appliquez des opérations telles que la composition et la transformation au cours des opérations de rendu ci-dessus.