You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
1.5 KiB
Java

Scribble into a canvas
package com.ack.gui.awt.simple;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class ScribbleIntoACanvas extends Canvas implements MouseListener, MouseMotionListener {
int old_mouse_x = 0;
int old_mouse_y = 0;
public void mousePressed( MouseEvent e ) {
old_mouse_x = e.getX();
old_mouse_y = e.getY();
}
public void mouseDragged( MouseEvent e ) {
Graphics g = getGraphics();
int x = e.getX(), y = e.getY();
g.drawLine( old_mouse_x, old_mouse_y, x, y );
old_mouse_x = x;
old_mouse_y = y;
}
public void mouseReleased( MouseEvent e ) {
;
}
public void mouseClicked( MouseEvent e ) {
;
}
public void mouseEntered( MouseEvent e ) {
;
}
public void mouseExited( MouseEvent e ) {
;
}
public void mouseMoved( MouseEvent e ) {
;
}
public static void main( String[] args ) {
Frame myFrame = new Frame( "Scribble Into A Canvas Example" );
ScribbleIntoACanvas myCanvas = new ScribbleIntoACanvas();
myCanvas.addMouseListener( myCanvas );
myCanvas.addMouseMotionListener( myCanvas );
myFrame.add( myCanvas );
myFrame.setSize( 600, 600 );
myFrame.addWindowListener( new WindowAdapter() {
public void windowClosing( WindowEvent we ) {
System.exit( 0 );
}
} );
myFrame.show();
}
}