Java Language
Graphiques 2D en Java
Recherche…
Introduction
Les graphiques sont des images ou des dessins visuels sur certaines surfaces, comme un mur, une toile, un écran, un papier ou une pierre pour informer, illustrer ou divertir. Cela comprend: la représentation graphique des données, comme dans la conception et la fabrication assistées par ordinateur, la composition et les arts graphiques, ainsi que dans les logiciels éducatifs et récréatifs. Les images générées par un ordinateur sont appelées graphiques informatiques.
L'API Java 2D est puissante et complexe. Il existe plusieurs façons de faire des graphiques 2D en Java.
Exemple 1: Dessiner et remplir un rectangle à l'aide de Java
C'est un exemple qui imprime un rectangle et remplit une couleur dans le rectangle. https://i.stack.imgur.com/dlC5v.jpg
La plupart des méthodes de la classe Graphics peuvent être divisées en deux groupes de base:
- Méthodes de dessin et de remplissage vous permettant de rendre des formes, du texte et des images de base
- 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.
Exemple 2: Dessin et remplissage ovale
import javax.swing.*;
import java.awt.*;
public class MyPanel extends JPanel {
@Override
public void paintComponent(Graphics g){
// clear the previous painting
super.paintComponent(g);
Graphics2D g2 = (Graphics2D)g;
g2.setColor(Color.blue);
g2.drawOval(0, 0, 20,20);
g2.fillOval(50,50,20,20);
}
}
g2.drawOval (int x, int y, int height, int width);
Cette méthode dessinera un ovale à la position x et y spécifiée avec une hauteur et une largeur données.
g2.fillOval (int x, int y, int height, int width); Cette méthode remplira un ovale à la position x et y spécifiée avec une hauteur et une largeur données.