如何在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"); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |