Illustration des principales
fonctionnalités de Java 2D

Affichage de texte

Utilisation de polices de caractères

Affichage de graphiques

Utilisation d'attributs sur les graphiques

Affichage d'images bitmap

Réalisation d'opérations sur les images bitmap

Attention le Plugin nécessaire n'est pas installé

Java2DExemple001.class

Fichiers sources

Java2DExemple001.java

import java.util.*;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
import java.net.* ;

public class Java2DExemple001 extends Applet
    implements Runnable {
  public Java2DExemple001Canvas canvas;
  static public Image i = null ;
  static public Image a[] = new Image[36] ;
  private Thread app = null ;
  private boolean bRun = false ;

  public void init() {
    URL u ;
    try {
      u = new URL("http://raphaello.univ-fcomte.fr/IG/Java2D/Images/r1.gif");
      i = getImage(u) ; }
    catch (MalformedURLException e) { }
    for ( int ind = 0 ; ind < 36 ; ind++ ) {
      try {
        u = new URL("http://raphaello.univ-fcomte.fr/IG/Java2D/Images/Animation/Image"+ind+".gif");
        a[ind] = getImage(u) ; }
      catch (MalformedURLException e) { } }
    setBackground(Color.white); 
    setLayout(new BorderLayout());
    canvas = new Java2DExemple001Canvas();
    add("Center",canvas);
  }

  public void initApplication() {
    i = Toolkit.getDefaultToolkit().getImage("r1.gif");
    for ( int ind = 0 ; ind < 36 ; ind++ ) {
      a[ind] = Toolkit.getDefaultToolkit().
                 getImage("Animation/Image"+ind+".gif"); }
    setLayout(new BorderLayout());
    canvas = new Java2DExemple001Canvas();
    add("Center",canvas);
  }

  public void destroy() {
    remove(canvas);
  }

  public void start() {
    bRun = true ;
    if ( app == null ) {
      app = new Thread(this);
      app.start(); }
  }

  public void stop() {
    if ( app != null ) {
      bRun = false;
      app = null; }
  }

  public void run() {
    while ( bRun ) {
        try {
        canvas.repaint() ;
        Thread.sleep(100) ; }
      catch(Exception e) { } ;
    }
  }
  
  public void processEvent(AWTEvent e) {
    if (e.getID() == Event.WINDOW_DESTROY) {
      System.exit(0);
    }
  }

  public static void main(String args[]) {
    Frame f = new Frame("Exemple 001 pour Java 2D");
    Java2DExemple001 j001 = new Java2DExemple001();
    j001.initApplication();
    j001.start();
    f.add("Center",j001);
    f.setSize(500,400);
    f.show();
  }

  public String getAppletInfo() {
    return "Exemple 001 de Java 2D.";
  }
}

Java2DExemple001Canvas.java

import java.awt.*;
import java.awt.font.*;

public class Java2DExemple001Canvas extends Canvas {
  public int im = 0 ;

  public void paint(Graphics g) {
    Graphics2D g2 =(Graphics2D) g;
    g2.setColor(new Color(0,0,255));
    g2.drawString("Chaîne de caractères simple",50,30);
    FontRenderContext frc = g2.getFontRenderContext();
    Font f = new Font("Comic Sans MS",Font.BOLD,22);
    String s = new String("Font : 22 Comic Sans MS Bold");
    TextLayout tl = new TextLayout(s,f,frc);
    g2.setColor(new Color(0,255,255));
    tl.draw(g2,20,80);
    g2.setColor(new Color(255,0,0));
    g2.draw3DRect(100,100,200,60,true);
    BasicStroke bs1 = new BasicStroke(8,
      BasicStroke.CAP_SQUARE,BasicStroke.JOIN_ROUND);
    g2.setStroke(bs1);
    g2.setColor(new Color(200,200,100));
    Polygon p1 = new Polygon();
    p1.addPoint(20,200); 
    p1.addPoint(90,250); 
    p1.addPoint(150,220); 
    p1.addPoint(180,230); 
    p1.addPoint(220,180); 
    g2.drawPolygon(p1);
    BasicStroke bs2 = new BasicStroke(1,
      BasicStroke.CAP_SQUARE,BasicStroke.JOIN_ROUND);
    g2.setStroke(bs2);
    g2.setColor(new Color(0,0,0));
    GradientPaint gp = new GradientPaint(100,310,
      new Color(30,90,150),
      200,320,
      new Color(230,170,70),
      true); 
    g2.setPaint(gp);
    Polygon p2 = new Polygon();
    p2.addPoint(10,300); 
    p2.addPoint(100,350); 
    p2.addPoint(130,320); 
    p2.addPoint(190,330); 
    p2.addPoint(210,280); 
    g2.fillPolygon(p2);
    if ( Java2DExemple001.i != null )
      g2.drawImage(Java2DExemple001.i,370,10,this) ;
    if ( Java2DExemple001.a[im] != null ) {
      g2.drawImage(Java2DExemple001.a[im],280,180,this) ;
      im++ ;
      if ( im == 36 )
        im = 0 ; }
  }

  public void update(Graphics g) {
    setBackground(Color.white); 
    paint(g) ;
  }
}