我正在使用JOGL2和NativeWindow API编写Java应用程序。如何隐藏鼠标光标?
[编辑]
我没有使用JFrame创建窗口,而是使用JOGL中的GLWindow。GLWindow没有setCursor方法。这仍然可能吗?
我正在使用JOGL2和NativeWindow API编写Java应用程序。如何隐藏鼠标光标?
[编辑]
我没有使用JFrame创建窗口,而是使用JOGL中的GLWindow。GLWindow没有setCursor方法。这仍然可能吗?
正如你所说的,GLWindow
没有这个功能,因此我会像AlexR所写的那样,在Frame
(或JFrame
)中使用GLCanvas
:
public static void main(String... args) {
// create the cursor
Toolkit t = Toolkit.getDefaultToolkit();
Image i = new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB);
Cursor noCursor = t.createCustomCursor(i, new Point(0, 0), "none");
// try it with a normal frame
Frame f = new Frame();
// create the GLCanvas and add it to the frame
GLCanvas canvas = new GLCanvas();
frame.add(canvas);
f.setCursor(noCursor);
f.setSize(400, 200);
f.setVisible(true);
}
这已经在JOGL2中使用NEWT实现(一个GLWindow对象)。请参见https://jogamp.org/bugzilla/show_bug.cgi?id=409(在thekidder的回答中引用)。
您可以这样做:
glWindow.setPointerVisible(false);
目前使用 NEWT GLWindow:
window = GLWindow.create(caps);
...
window.requestFocus();
window.setAlwaysOnTop(true); // i think, be on top is good than mouse is jailed
window.setUndecorated(true); // remove window borders (if u want)
window.setPointerVisible(false); // hide cursor
window.confinePointer(true); // jail inside (cursor will be limited to window borders)
GLWindow
吗? - dacwe