如何在Java程序窗口之外检测mouseclick的位置?

时间:2019-05-23 10:54:28

标签: java onclicklistener

因此,我试图在Java中创建一个自动点击程序,用户可以通过单击该程序在屏幕上选择一个位置。然后,我要存储点击的位置,以便以后在自动点击器运行时使用它。我的问题是我没有找到合适的解决方案。我尝试使用附加了ClickLister的JFrame,它会填满整个屏幕。这很好用,但是缺点是您不能使用此方法在全屏模式下运行的游戏中选择位置,因为当您按住Alt键进入游戏时,JFrame会移到后台。然后,JFrame无法识别该点击。

我的问题是:是否有可能使JFrame始终在任何其他程序之上运行,还是应该尝试其他方法?那我该怎么办呢?

我对Java很陌生,所以请原谅我缺乏知识。

这是我当前的代码:

public class ClickWindowController implements Initializable{

    @FXML
    public TextField XClick;

    @FXML
    public TextField YClick;

    public JFrame window;
    public MouseAdapter ml;

    public void StartOfSearch() {

        //Open JFrame
        window = new JFrame("Click");
        window.getContentPane().addMouseListener(ml);
        window.setResizable(false);
        window.setAlwaysOnTop(true);
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        window.setSize(screenSize.width, screenSize.height);
        window.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        window.setUndecorated(true);
        window.setVisible(true);
        window.setOpacity(0.01f);

    }


    @Override
    public void initialize(URL location, ResourceBundle resources) {


        ml = new MouseAdapter ()
        {
        public void mouseClicked (MouseEvent event)
        {
            String s = Integer.toString(event.getX());
            String t = Integer.toString(event.getY());
            window.dispose();
            XClick.setText(s);
            YClick.setText(t);

        }
        };


    });


}

0 个答案:

没有答案