由鼠标控制的形状图

时间:2012-04-07 16:39:48

标签: java graphics awt paint mouselistener

我们如何像在绘画中一样用Java绘制形状?

例如,如果我想绘制矩形,则此命令将绘制它:

g2.fill3DRect(mt, mf, 45, 45, true); 

但是,如何在运行时使用鼠标增加或减小对象或形状的大小,就像我们在绘画中所做的那样?

2 个答案:

答案 0 :(得分:1)

使用mouse listener获取鼠标按下后的位置。即

g2.fill3DRect(mt, mf, mouse.getX(), mouse.getY(), true); 

但是在每次绘制之前通过在整个屏幕上绘制一个矩形来清除屏幕,这样就不会同时有一百万个矩形。这是当然最基本的例子。看看双缓冲和练习。

答案 1 :(得分:0)

实现一个包含形状属性的形状对象。

您的面板应该保留一个在需要时绘制的形状列表。还可以将一个形状连接到鼠标上。

然后在面板上注册一个mouselistener:

  • 如果移动鼠标,请更新形状并重新绘制面板。
  • 在mouseDown
  • 时创建一个新形状
  • 在mouseUp
  • 时释放形状