我看到过sun的java  swing tutorial 好像有类似的例子,鼠标可以拖出来一个选择狂。做法是重载repaint函数,

解决方案 »

  1.   

    就是我draw了一些Graphics2D,想用鼠标象拖拽窗口边线改变大小一样实现改变Graphics2D的大小,该怎么实现.最好给个实际的例子或部份代码.
    谢了!
      

  2.   

    首先要根据你的图形来返回它所在的一个Rectangle,如果是java类库中带的基本图形,如圆等,可以直接通过它的getBounds()得到,如果是复杂的复合图形,这要自己计算一番了,得到Rectangle后,在Rectangle的四角(可以是你自己想要的地方)画上小的矩形,用black来填充,最后的改变大小利用mvc模型来实现,因为内容太多,我没法说,具体参考一下相关资料吧。sun上的draw 4 app它是用javabean做的,好象是在javabean中自定义了一些事件,通过事件来触发各种操作,如果你想要源代码,我可以给你,留下信箱。
      

  3.   

    信箱是[email protected],急盼,谢谢!
      

  4.   

    please send to me,[email protected]
      

  5.   

    只需要在mouseDragged()方法中调用repaint()就行了。
      

  6.   

    关键是怎么判断,如何区分改变大小时的Drag和移动时的Drag。还有当断定为改变大小时在向八个不同的方向Drag时怎么区分。
    设想为鼠标点击选中后,Rectangle高亮显示,鼠标靠近边界时形状变为双向的箭头,此时判断Drag和在Rectangle的哪个方位,Drag中调用repaint。
    所以:
    关键是怎么判断,如何区分改变大小时的Drag和移动时的Drag。还有当断定为改变大小时在向八个不同的方向Drag时怎么区分。