0

マウスがアプリケーションに入ったタイミングをチェックするマウス モーション リスナーがあることは知っています。ユーザーがアプリケーションに入ったときにマウスを画面の中央に移動させる方法はありますか? この例は、ゲーム Minecraft からのものです。ユーザーがアプリケーション内でマウス ポインターをホバーすると、マウス ポイントが画面の中央に移動し、マウスの動きによって表示内容が決まります。私はこれを達成しようとしていますが、物理的な人間の行動からマウスポインター自体を画面に移動させずに、マウス座標を画面の原点に変更する方法を知りたいだけです。

    public static void main(String[] args) {
    Jogl3DApp display = new Jogl3DApp();
    // make display listen for mouse events
    display.addMouseListener(display);
    // make display listen for keyboard events
    display.addKeyListener(display);
    // Uncomment the following line to create a timer object and start it
    // generating events, one every 30 milliseconds
    new Timer(10, display).start();
    // make display listen for the OpenGL graphics events
    display.addGLEventListener(display);

    // create a GUI window
    JFrame window = new JFrame("Jogl Application");
    // make window contain the display object
    window.setContentPane(display);

    window.setLocation(100, 100);
    window.setVisible(true);
    // A JFrame object's size includes the window decorations, like
    // the title bar and borders. So if you want a 500x500 drawing space,
    // you must set the window size a little bit bigger than that. Insets
    // gives
    // you the size of the decorations, so you make the window of size
    // 500x500
    // plus the size of the decorations.
    Insets insets = window.getInsets();
    window.setSize(500 + insets.right + insets.left, 500 + insets.top
            + insets.bottom);

    // kills thread (in particular the timer event thread) when window is
    // closed
    window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}
     public void display(GLAutoDrawable drawable) {

    // get the OpenGL context object
    GL gl = drawable.getGL();
    GLU glu = new GLU();
    GLUT glut = new GLUT();
    // clear the window
    gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);

    // replace what follows with your own drawing code
    gl.glMatrixMode(GL.GL_MODELVIEW);
    gl.glLoadIdentity();
 }
4

1 に答える 1

2

java.awt.Robotクラスを使用できます。ユーザーが画面を操作しているときにマウスを動かすことがUXの適切な選択であるとは確信していませんが、そのクラスで必要なものを使い始めることができます。

final Robot robot = new Robot();
robot.mouseMove(100, 100);

ロボット-Javadoc

于 2012-04-11T22:53:11.760 に答える