Vedi la versione AWT.
import java.awt.*; import java.awt.event.*; import java.applet.Applet; public class AppletDisegnoAManoLibera extends Applet implements MouseListener, MouseMotionListener, ActionListener, ItemListener { private Color[] cCOLORI= { Color.black , Color.blue , Color.cyan , Color.darkGray, Color.gray, Color.green, Color.lightGray, Color.magenta, Color.orange, Color.pink , Color.red , Color.white, Color.yellow }; private String[] sCOLORI= { "Nero" , "Blu" , "Azzurro" , "Grigio scuro", "Grigio", "Verde" , "Grigio chiaro", "Magenta", "Arancione", "Rosa" , "Rosso" , "Bianco", "Giallo" }; Choice sceltaColore; Color coloreCorrente; int lastX, lastY; public void init() { this.addMouseListener(this); this.addMouseMotionListener(this); sceltaColore = new Choice(); sceltaColore.addItemListener(this); for(int i=0; i < sCOLORI.length;i++) sceltaColore.add(sCOLORI[i]); this.add(sceltaColore); Button pulisci= new Button("PULISCI"); pulisci.addActionListener(this); this.add(pulisci); coloreCorrente=cCOLORI[0]; } public void actionPerformed(ActionEvent e) { Graphics cg=getGraphics(); cg.clearRect(0, 0, getWidth(), getHeight()); } public void itemStateChanged(ItemEvent e) { int indice=sceltaColore.getSelectedIndex(); coloreCorrente=cCOLORI[indice]; } public void mousePressed(MouseEvent e) { lastX=e.getX(); lastY=e.getY(); } public void mouseDragged(MouseEvent e) { Graphics cg=getGraphics(); cg.setColor(coloreCorrente); int x=e.getX(); int y=e.getY(); cg.drawLine(lastX, lastY, x, y); lastX=x; lastY=y; } public void mouseReleased(MouseEvent e) {} // eventi non utilizzati public void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mouseMoved(MouseEvent e) {} public void mouseClicked(MouseEvent e) {} }