java语言的科学与艺术-编程练习10.4
1 /* 2 * 程序可以用鼠标拖拽话出一个矩形; 3 */ 4 import acm.graphics.*; 5 import acm.program.*; 6 import java.awt.event.*; 7 8 public class DrawRectangle extends GraphicsProgram{ 9 //鼠标侦听 10 public void run(){ 11 addMouseListeners(); 12 } 13 //鼠标按下事件 14 public void mousePressed(MouseEvent e){ 15 press = new GPoint(e.getPoint()); 16 } 17 //鼠标拖拽事件 18 public void mouseDragged(MouseEvent e){ 19 double x = press.getX(); 20 double y = press.getY(); 21 double width = e.getX() - press.getX(); 22 double height = e.getY() - press.getY(); 23 //确保向左下方拖拽也能画出矩形; 24 if(width < 0 ){ 25 x = e.getX(); 26 width = -width; 27 } 28 //确保向上方拖拽也能画出矩形; 29 if(height < 0){ 30 y = e.getY(); 31 height = -height; 32 } 33 if(height < 0) height = -height; 34 GRect rect = new GRect(x, y, width, height); 35 rect.setFilled(true); 36 add(rect); 37 } 38 private GPoint press; //记录鼠标按下的点; 39 }
posted on 2012-12-20 11:57 mybluecode 阅读(724) 评论(0) 编辑 收藏 举报