Top
Previous Next
Interfaces, GUIs, and Applets CS 161 - Java

A Bigger Applet

Source: examples/ScribbleApplet.java



/** Adapted from Java in a Nutshell
**/
 
import java.applet.Applet;
import java.awt.Button;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.event.MouseEvent;
 
public class ScribbleApplet extends Applet
implements ActionListener, MouseListener, MouseMotionListener {
 
private int last_x, last_y;
 
public void init() {
addMouseListener(this);
addMouseMotionListener(this);
 
// Create a clear button
Button b = new Button("Clear");
 
// Tell the button which object (this applet) has the
// actionPerformed() method to call when button is clicked.
b.addActionListener(this);
add(b);
}
 
/** From ActionListener interface: clear the applet area when
** button is pressed
**/
public void actionPerformed( ActionEvent e) {
Graphics g = getGraphics();
g.setColor(getBackground());
Dimension d = getSize();
g.fillRect(0, 0, d.width, d.height);
}
 
/** From MouseListener interface: remember where mouse was ehen
** mouse button is pressed.
**/
public void mousePressed( MouseEvent e) {
last_x = e.getX();
last_y = e.getY();
}
 
/** From MouseMotionListener interface: determine where mouse is
** while button is down; draw a line from last position to this
** one, remember where mouse is fo next time.
**/
public void mouseDragged(MouseEvent e) {
Graphics g = getGraphics();
int x = e.getX();
int y = e.getY();
g.drawLine(last_x, last_y, x, y);
last_x = x;
last_y = y;
}
 
/** Both MouseListener and MouseMotionListener interfaces define
** other methods that must be implemented. These do nothing
** implementations satisfy the MouseListener interface
** "contract".
**/
public void mouseReleased(MouseEvent e) {
}
public void mouseClicked(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
/** And this do nothing implementation satisfies the
** MouseMotionListener interface "contract".
**/
public void mouseMoved(MouseEvent e) {
}
 
}

Either your browser doesn't support Java or you haven't enabled it.

Top
Previous Next
jwd