Nous allons étudier les événements qui se produisent dans un composant graphique (l'applet) et comment réagir à ces événements.
Source de Rectangle6.java
import java.awt.*; public class Rectangle6 { double x, y, largeur, hauteur; Color couleur; Rectangle6(double valX, double valY, double valL, double valH, Color c) { x = valX; y = valY; largeur = valL; hauteur = valH; couleur = c; } void setPosition(double valX, double valY){ x = valX; y = valY; } boolean estDans(double valX, double valY){ return ((x<=valX)&&(x+largeur>=valX) &&(y<=valY))&&(y+hauteur>=valY); } void dessiner(Graphics g) { g.setColor(couleur); g.fillRect((int)x, (int)y, (int)largeur, (int)hauteur); } } |
Source de Prog67.java
import java.awt.*; import java.awt.event.*; import java.applet.Applet; public class Prog67 extends Applet implements MouseListener { Rectangle6 rectRouge, rectBleu; boolean affiche; public void init() { addMouseListener(this); affiche = true; rectRouge =new Rectangle6(30,30,50,80,Color.red); rectBleu =new Rectangle6(30,30,50,80,Color.blue); } public void paint(Graphics g) { if (affiche) rectRouge.dessiner(g); else rectBleu.dessiner(g); } public void mouseClicked(MouseEvent e) { affiche = ! affiche; repaint(); } public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mousePressed(MouseEvent e) {} public void mouseReleased(MouseEvent e) {} } |
Source de Prog36.java
import java.awt.*; import java.awt.event.*; import java.applet.Applet; public class Prog36 extends Applet implements MouseListener { Rectangle6 rect; public void init() { rect = new Rectangle6(30,30,50,80,Color.yellow); addMouseListener(this); } public void paint(Graphics g) { rect.dessiner(g); } public void mouseClicked(MouseEvent e) { int x,y; x = e.getX(); y = e.getY(); rect.setPosition(x,y); repaint(); } public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mousePressed(MouseEvent e) {} public void mouseReleased(MouseEvent e) {} } |
Source de Prog37.java
import java.awt.*; import java.awt.event.*; import java.applet.Applet; public class Prog37 extends Applet implements MouseListener, KeyListener, MouseMotionListener { String message = "aucun"; public void init() { addMouseListener(this); addMouseMotionListener(this); addKeyListener(this); } public void paint(Graphics g) { g.drawString(message, 20, 50); } public void mouseClicked(MouseEvent e) { message = "mouseClicked"; repaint(); } public void mouseEntered(MouseEvent e) { message = "mouseEntered"; repaint(); } public void mouseExited(MouseEvent e) { message = "mouseExited"; repaint(); } public void mousePressed(MouseEvent e) { message = "mousePressed"; repaint(); } public void mouseReleased(MouseEvent e) { message = "mouseReleased"; repaint(); } public void mouseDragged(MouseEvent e) { message = "mouseDragged"; repaint(); } public void mouseMoved(MouseEvent e) { message = "mouseMoved"; repaint(); } public void keyTyped(KeyEvent e) { message = "mouseMoved"; repaint(); } public void keyPressed(KeyEvent e) { message = "mouseMoved"; repaint(); } public void keyReleased(KeyEvent e) { message = "mouseMoved"; repaint(); } } |
Source de Prog38.java
import java.awt.*; import java.awt.event.*; import java.applet.Applet; public class Prog38 extends Applet implements MouseListener, MouseMotionListener { Rectangle6 rect1, rect2; boolean clicRect1, clicRect2; public void init() { rect1 = new Rectangle6(30,30,50,80,Color.gray); rect2 = new Rectangle6(100,60,70,30,Color.green); clicRect1 = false; clicRect2 = false; addMouseListener(this); addMouseMotionListener(this); } public void paint(Graphics g) { rect1.dessiner(g); rect2.dessiner(g); } public void mousePressed(MouseEvent e){ if (rect1.estDans(e.getX(),e.getY())) clicRect1=true; if (rect2.estDans(e.getX(),e.getY())) clicRect2=true; } public void mouseDragged(MouseEvent e){ if (clicRect1) { rect1.setPosition(e.getX(),e.getY()); repaint(); } if (clicRect2) { rect2.setPosition(e.getX(),e.getY()); repaint(); } } public void mouseReleased(MouseEvent e){ if (clicRect1) clicRect1=false; if (clicRect2) clicRect2=false; } public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mouseClicked(MouseEvent e) {} public void mouseMoved(MouseEvent e) {} } |
Source de Prog39.java
import java.awt.*; import java.awt.event.*; import java.applet.Applet; public class Prog39 extends Applet implements MouseListener, MouseMotionListener { int x0, y0; Graphics g; public void init() { x0=0; y0=0; g = getGraphics(); addMouseListener(this); addMouseMotionListener(this); } public void mousePressed(MouseEvent e){ int x,y; x = e.getX(); y = e.getY(); x0=x; y0=y; } public void mouseDragged(MouseEvent e){ int x,y; x = e.getX(); y = e.getY(); g.drawLine(x0, y0, x, y); x0=x; y0=y; } public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mouseClicked(MouseEvent e) {} public void mouseReleased(MouseEvent e) {} public void mouseMoved(MouseEvent e) {} } |