加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

如何在Java AWT和/或Swing中更改光标图像?

发布时间:2020-12-15 08:46:09 所属栏目:Java 来源:网络整理
导读:我正在制作一个简单的图形编辑器(即绘图程序).我没有计划任何花哨的东西,但我确实希望我的程序在进入Paint Panel时将鼠标光标更改为“”或“O”之类的东西.就像在Photoshop或GIMP中一样. 我该怎么做?关于如何更改鼠标光标,我在AWT / Swing线程中找不到任何
我正在制作一个简单的图形编辑器(即绘图程序).我没有计划任何花哨的东西,但我确实希望我的程序在进入Paint Panel时将鼠标光标更改为“”或“O”之类的东西.就像在Photoshop或GIMP中一样.

我该怎么做?关于如何更改鼠标光标,我在AWT / Swing线程中找不到任何内容.

解决方法

以防有人想要比任何默认游标更“花哨”的东西:可以创建一个自定义光标(如果Toolkit支持它),显示任意自定义图像.原始(没有光泽的视觉效果)示例:

Toolkit kit = Toolkit.getDefaultToolkit();
    Dimension dim = kit.getBestCursorSize(48,48);
    BufferedImage buffered = GraphicsUtilities.createCompatibleTranslucentImage(dim.width,dim.height);
    Shape circle = new Ellipse2D.Float(0,dim.width - 1,dim.height - 1);
    Graphics2D g = buffered.createGraphics();
    g.setColor(Color.BLUE);
    g.draw(circle);
    g.setColor(Color.RED);
    int centerX = (dim.width - 1) /2;
    int centerY = (dim.height - 1) / 2;
    g.drawLine(centerX,centerX,dim.height - 1);
    g.drawLine(0,centerY,dim.height - 1,centerY);
    g.dispose();
    Cursor cursor = kit.createCustomCursor(buffered,new Point(centerX,centerY),"myCursor");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读