2010-07-27 43 views
2

我正在尝试创建一个交互式GUI,但是我需要在该矩形被点击并拖动时移动某个对象。基本上我想知道一个已经仿射变换的矩形是否包含特定点(x,y)。有没有办法做到这一点?我曾尝试使用方法,但它不适用于仿射变换的矩形。我检查了Java教程,但用户交互式GUI不使用仿射变换。有人能指点我的一个教程,它允许用户仿射变形某种形状,并且只在形状本身被点击并拖动时才移动形状。如果不是,我该如何解决这个问题?如何在Java中找出仿射变换矩形是否包含某个特定点?

谢谢。

+1

只是通过相同的AffineTransform映射你的点'(x,y)'并且它们进行比较。 – msw 2010-07-27 02:42:33

+0

但该方法也不适用于仿射转换点,对不对? – 2010-07-27 03:55:14

回答

1

这个example显示按照预期在转换的Shape上工作。 example使用Polygon,但Rectangle也实施Shape

如果图形上下文本身被转换,则必须创建一个反转“来捕获对转换进行的更改”,如此example所示。