我有一个包含五个按钮的程序:
i)方形ii)矩形iii)圆圈iv)三角形v)透明
单击前四个按钮中的任何一个将使用以下代码在绘图画布上绘制相应的形状:
可以拖动形状。它们也应该调整大小。我只是试图围绕形状的四个边缘(NW,NE,SW,SE)改变鼠标的光标。这适用于正方形和矩形,因为它们有四个边。但是,我在圆和三角形上实现相同的问题。
这是我在mouseClicked事件中所做的:
我想要做的是,如果字符串 shape_type 包含圆圈,例如,它会围绕它绘制边框,以便用户可以看到形状的边界。
但是,我不能在if语句中使用以下代码:
我该如何画边框?谢谢:))
答案 0 :(得分:1)
你是不对的,你不能用MouseListener
方法绘画。您可以执行的操作是在shapeUnderMouse
方法中设置mouseClicked
,然后拨打repaint
。如果你只重绘你知道在视觉上发生变化的区域,你会获得更好的表现,但这并不是绝对必要的。
if (shapeUnderMouse != null)
块应放在paint
方法中。