如何在Java中绘制一个围绕鼠标光标的矩形?

4

我在我的项目中创建了一个模块,用户可以使用铅笔绘制任何东西。

现在我想为该绘图模块创建一个橡皮擦,所以当用户单击橡皮擦按钮时,我希望鼠标光标周围出现一个小矩形,这样用户就可以使用它来擦除绘图中的某些部分。

如何实现?有什么建议吗?

1个回答

6

建议为所选工具设置自定义光标,而不是在光标周围绘制矩形。

仅为了展示API(未经测试),类似以下代码应该可以实现:

Image cursorImg = new ImageIcon("rectangle.gif").getImage();        
Point hotspot = new Point(0, 0);     // should be set to the center of your rectangle    
Cursor cursor = getToolkit().createCustomCursor(cursorImg, hotspot, "cursorname");

YourComponent.setCursor( cursor );

编辑:

我必须补充说明,getToolkit()是java.awt.Component的一个方法。


但是我的应用程序有一个额外的功能,人们可以增加橡皮擦的大小……那么接下来该怎么办? - Nitz
@Nitz 在这种情况下,我会使用异或模式绘制一个矩形。 - stacker
@Nitz 请查看 i.g. http://stackoverflow.com/questions/880753/how-to-draw-rectangle-on-java-applet-using-mouse-drag-event 或者谷歌搜索“java draw rect xor example”。 - stacker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接