如何在Java中接受鼠标输入?

时间:2017-12-02 16:37:12

标签: java input

我是Java的新手,我想尝试在BlueJ中做一件事,要求BlueJ知道点击鼠标的时间,并且能够确定鼠标在x,y上的坐标平面。

在我编写代码的类中,我看到了一些导入的类和Scanner和Graphics之类的东西,所以它可能就是这些,但我不确定。

我主要需要

  • 要导入的东西(如果是需要导入的东西)

  • 如何判断鼠标是否被点击

  • 如何让它能够在被问到时告诉我鼠标的x,y位置(比如,我必须参考什么类方法才能找到它)

在我拥有之后,我将与之合作以尝试制作我的计划。谢谢!

编辑:根据要求,这是我的尝试

java.awt.event.MouseAdapter

public class main
{
 MouseAdapter test = new MouseAdapter();

}

public void mouseMoved(test e)
{
    System.out.println("hey your mouse moved");
}

我显然做了一些可怕的错误

1 个答案:

答案 0 :(得分:0)

实现目标的一种方法是使用java swing。如果鼠标在创建的窗口内移动,以下代码将打印出一条语句:

public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            JFrame jFrame = new JFrame();
            jFrame.setSize(720,480);
            jFrame.setVisible(true);
            jFrame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
            jFrame.getContentPane().addMouseMotionListener(new MouseMotionListener() {
                @Override
                public void mouseDragged(MouseEvent mouseEvent) {
                    System.out.println("STUFF");
                }

                @Override
                public void mouseMoved(MouseEvent mouseEvent) {
                    System.out.println("STUFF");

                }
            });

        });
    }

这不是一个理想的解决方案,但我希望它可以帮助您找到正确的方向。