/** * Copyright (c): Uwe Schmidt, FH Wedel * * You may study, modify and distribute this source code * FOR NON-COMMERCIAL PURPOSES ONLY. * This copyright message has to remain unchanged. * * Note that this document is provided 'as is', * WITHOUT WARRANTY of any kind either expressed or implied. */ // ein scribble Beispiel // angelehnt an das Beispiel aus dem Nutshell Buch // dieses applet kann die gezeichnete Information nicht // wiederherstellen, wenn das Fenster wiederholt gezeichnet // werden muss import java.applet.*; import java.awt.*; import java.awt.event.*; public class Scribble extends Applet { int lastX; int lastY; //-------------------- // die init routine public void init() { // grafische Objekte erzeugen // und konfigurieren Button b = new Button("Clear"); setBackground(Color.yellow); //-------------------- // event handler installieren // fuer das applet selbst addMouseListener (new MouseAdapter() { public void mousePressed(MouseEvent e) { lastX = e.getX(); lastY = e.getY(); } }); //-------------------- addMouseMotionListener (new MouseMotionAdapter() { public void mouseDragged(MouseEvent e) { Graphics g = getGraphics(); int x = e.getX(); int y = e.getY(); g.setColor(Color.black); g.drawLine(lastX, lastY, x, y); lastX = x; lastY = y; } }); //-------------------- // event handler fuer den Knopf b.addActionListener (new ActionListener() { public void actionPerformed(ActionEvent e) { Graphics g = getGraphics(); g.setColor(getBackground()); g.fillRect(0, 0, getSize().width, getSize().height); } }); //-------------------- // Komponenten anordnen add(b); } } //--------------------