我正在研究一个简单的Java游戏引擎,并且没有FSEM,缓冲策略等问题; 我的问题是用鼠标光标.在窗口模式下,我可以隐藏鼠标光标,没问题,可以使用我的JFrame中的setCursor()来设置一个完全透明的光标.但是,在调用device.setFullScreenWindow(this)进入FSEM后,鼠标光标返回,后续调用setCursor()将其设置回我的空白光标无效.调用device.setFullScreenWindow(null)允许我再次摆脱光标 - 只有当我在FSEM中时才能摆脱它.
我在JDK 6下工作,目标平台是JDK 5+.
更新:我已经做了一些更多的测试,看起来这个问题出现在Mac OS X 10.5 w/Java 6u7下,但不是在带有Java 6u7的Windows XP SP3下.因此,它可能是Mac版JVM中的一个错误.
尝试创建自定义不可见光标:
Toolkit toolkit = Toolkit.getDefaultToolkit(); Point hotSpot = new Point(0,0); BufferedImage cursorImage = new BufferedImage(1, 1, BufferedImage.TRANSLUCENT); Cursor invisibleCursor = toolkit.createCustomCursor(cursorImage, hotSpot, "InvisibleCursor"); setCursor(invisibleCursor);
一位开发人员通过从透明GIF创建一个像素光标找到了解决方法.
http://sevensoft.livejournal.com/23460.html
我知道你试过了,但是他特意解决了全屏模式的问题,就像你说的那样,所以也许他已经完成了你没有做过的事情.