Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
File Manager
/
Ebook
/
Informatique
/
JAVA
/
Code
:
TrivialSketcher.java
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
package edu.lmu.cs.graphics; import java.awt.BorderLayout; import java.awt.Graphics; import java.awt.Point; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseMotionAdapter; import javax.swing.JFrame; import javax.swing.JPanel; /** * This is an extremely scaled-down sketching canvas; with it you * can only scribble thin black lines. For simplicity the window * contents are never refreshed when they are uncovered. */ public class TrivialSketcher extends JPanel { /** * Keeps track of the last point to draw the next line from. */ private Point lastPoint; /** * Constructs a panel, registering listeners for the mouse. */ public TrivialSketcher() { // When the mouse button goes down, set the current point // to the location at which the mouse was pressed. addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { lastPoint = new Point(e.getX(), e.getY()); } }); // When the mouse is dragged, draw a line from the old point // to the new point and update the value of lastPoint to hold // the new current point. addMouseMotionListener(new MouseMotionAdapter() { public void mouseDragged(MouseEvent e) { Graphics g = getGraphics(); g.drawLine(lastPoint.x, lastPoint.y, e.getX(), e.getY()); lastPoint = new Point(e.getX(), e.getY()); g.dispose(); } }); } /** * A tester method that embeds the panel in a frame so you can * run it as an application. */ public static void main(String[] args) { JFrame frame = new JFrame("Simple Sketching Program"); frame.getContentPane().add(new TrivialSketcher(), BorderLayout.CENTER); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setSize(400, 300); frame.setVisible(true); } }