0

我有一个包含五个按钮的程序:

i) 正方形 ii) 矩形 iii) 圆形 iv) 三角形 v) 透明

单击前四个按钮中的任何一个,将使用以下代码在绘图画布上绘制相应的形状:

可以拖动形状。它们也应该调整大小。我只是想在形状的四个边缘(NW、NE、SW、SE)周围更改鼠标光标。这适用于正方形和矩形,因为它们有四个边。但是,我在为圆形和三角形实现相同时遇到了一些问题。

这就是我在 mouseClicked 事件中所做的:

我想要做的是,例如,如果字符串shape_type包含圆形,它会在其周围绘制一个边框,以便用户可以看到形状的边界。

但是,我不能只在 if 语句中使用以下代码:

请问怎么画边框?谢谢 :)

4

1 回答 1

1

你是对的,你不能用一种MouseListener方法来画画。您可以做的是shapeUnderMouse在您的mouseClicked方法中设置,然后调用repaint. 如果您只重新绘制您知道在视觉上发生变化的区域,您将获得更好的性能,但这并不是绝对必要的。

if (shapeUnderMouse != null)块应放置在您的paint方法中。

于 2012-11-21T11:56:53.043 回答