Ce tp vise a manipuler les applets, nous nous proposons de reprendre
le l'applet donné en exemple au TP 1, et d'y rajouter de nouvelles
fonctionnalités. Cette applet a été écrite à l'aide du package 1.0 de
l'A.W.T.
Le voici réécrit à l'aide du package 1.1 de l'A.W.T.
public class SecondApplet extends Applet {
static final String message1 = "Félicitations";
static final String message2 = "cliquez sur moi";
int v1=70;
int v2=60;
private Font font;
public void init( ){
resize(320, 240);
font = new Font("Helvetica",Font.BOLD,48);
addMouseMotionListener(new ML());
}
et en l'executant
Soit a partir de l'appletviewer:
appletviewer monApplet.html
Soit a partir d'un navigateur:
netscape monApplet.html
Nous nous proposons de rajouter de nouvelles fonctionnalités à ce
programme:
Il s'agit de définir deux boutons "avance droite" et "avance gauche",
qui décalent le texte de 10 pixels, soit vers la droite, soit vers la
gauche.
Pour cela, dans la classe étendue de java.applet.Applet définir
deux boutons b1 et b2, leur associer par la methode addActionListener,
un objet des classes respectives B1 et B2, classes internes à définir
et qui implémentent l'interface ActionListener, interface qui définit la méthode
public void actionPerformed(ActionEvent e);
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class SecondApplet extends Applet {
static final String message1 = "Félicitations";
static final String message2 = "cliquez sur moi";
int v1=70;
int v2=60;
private Font font;
Button b1 = new Button(" move Right");
Button b2 = new Button(" move Left ");
public void init( ){
resize(320, 240);
font = new Font("Helvetica",Font.BOLD,48);
addMouseMotionListener(new ML());
b1.addActionListener(new B1());
b2.addActionListener(new B2());
add(b1);
add(b2);
}
public void paint(Graphics g) {
g.setColor(Color.pink);
g.fillOval(10,10,330,100);
g.setColor(Color.red);
g.drawOval(10,10,330,100);
g.drawOval(9,9,332,102);
g.drawOval(8,8,334,104);
g.drawOval(7,7,336,106);
g.setColor(Color.black);
g.setFont(font);
g.drawString(message1,v1,v2);
g.drawString(message2,v1,v2+40);
}
class ML implements MouseMotionListener{
public void mouseDragged(MouseEvent e) {
v1=e.getX( );
v2=e.getY( );
repaint();
}
public void mouseMoved(MouseEvent e){
getAppletContext().showStatus("MouseMoved");
}
public void showMouse(MouseEvent e){
getAppletContext().showStatus("Show Mouse");
}
}
class B1 implements ActionListener {
public void actionPerformed(ActionEvent e){
v1= v1 + 10;
repaint();
}
}
class B2 implements ActionListener {
public void actionPerformed(ActionEvent e){
v1= v1 - 10;
repaint();
}
}
}
Michel Bourdelles
Last modified: Mon Mar 30 17:11:35 MET DST