【问题标题】:How to draw a rectangle around the mouse cursor in Java?如何在Java中围绕鼠标光标绘制一个矩形?
【发布时间】:2020-12-04 20:16:35
【问题描述】:

我在我的项目中制作了一个模块,用户可以在上面用铅笔画任何东西。

现在我想为那个绘图模块创建一个橡皮擦,所以我需要它,这样只要用户点击那个橡皮擦按钮,然后在我的鼠标光标周围,我想要一个小矩形围绕它,这样用户就可以使用它会擦除绘图中的某些部分。

如何做到这一点?有什么建议吗?

【问题讨论】:

    标签: java swing


    【解决方案1】:

    我建议不要在光标周围画一个矩形,而是为所选工具设置一个自定义光标。

    只是为了展示 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 在这种情况下,我会在 XOR 模式下绘制一个矩形
    • @Nitz 参见 i.g. stackoverflow.com/questions/880753/… 或谷歌“java draw rect xor example”
    猜你喜欢
    • 2018-06-13
    • 2011-03-14
    • 2018-08-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多