java - JFrame最小化时如何捕获按键事件?

标签 java swing location point

我是一名初学者,正在学习java,我的任务是制作一个自动点击工具。我使用 JFrame 作为接口(interface),但现在我遇到了这个问题: - 我想在用户单击按钮(例如 Ctrl)后获取与屏幕相关的指针位置。我在 JFrame 上添加了一个按钮,单击它,JFrame 将最小化,以便用户可以在桌面上移动指针。 - 每当用户按下 Ctrl 键时,我应该打印当时指针的 x,y 位置。 - 我一直在寻找解决方案,但我的大脑似乎跟不上。

如果有人能为我提供一个简单的例子,我将不胜感激。谢谢。 到目前为止我的想法:

     private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {                                         
     this.setState(JFrame.ICONIFIED);
     this.addKeyListener(this);
     }

     @Override
     public void keyPressed(KeyEvent e) {
     if (e.getKeyCode() == KeyEvent.CTRL_DOWN_MASK) {
                PointerInfo a = MouseInfo.getPointerInfo();
                Point b = a.getLocation();
                int x = (int) b.getX();
                int y = (int) b.getY();
                System.out.println(x + ":" + y);
            }
    }

最佳答案

I want to get location of pointer related to screen after user clicked a button..

单击按钮时:

  • 隐藏框架。
  • 获取整个桌面的屏幕截图。
  • JWindow 中的 JLabel 中显示屏幕截图
  • 向标签添加一个 MouseListener
  • MouseEvent 获取Point

E.G.类似于 this answer 中所示的内容.

关于java - JFrame最小化时如何捕获按键事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24432740/

相关文章:

java jlist - AbstractListModel - fireContentsChanged 无法正常工作

javascript - 使用 Moment.js 检测北半球或南半球

ios - 一劳永逸,具有后台位置的应用程序在重新启动后会自行启动吗?

java - 调用values()时需要同步并发HashMap吗?

java - 以编程方式从网页源中提取特定数据

java - Spring 存储库 : find by a field with two conditions

java - JTable 列未出现

java - 从另一个类的 Gui 类调用 print Text 方法

ios - 获取iPhone经纬度

java - 消除不同类中的重复代码