有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

键盘记录器中的java事件处理

在考虑在这里制作键盘记录器时,我学会了如何将listener class注册为JFrame。这种方法的问题是,当JFrame处于焦点时它可以工作,否则它就不能工作。我的问题是,是否有任何其他对象可以注册我的侦听器类,并且无论JFrame是否处于焦点,都可以按下该键

package javaapplication2;

import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;

public class KeyListenerTest extends JFrame implements KeyListener
{
    KeyListenerTest()
    {
        this.addKeyListener(this);
    }

    @Override
    public void keyTyped(KeyEvent ke) {
        //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
        System.out.println( ke.getKeyChar() );
    }

    @Override
    public void keyPressed(KeyEvent ke) {
        //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.

    }

    @Override
    public void keyReleased(KeyEvent ke) {
        //throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    public static void main(String[] args)
    {
         KeyListenerTest app = new  KeyListenerTest();
         app.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
         app.setSize(500, 500);
         //app.setVisible(true);


    }

}

共 (1) 个答案

  1. # 1 楼答案

    Java语言不适合这份工作。您无法在运行应用程序的vm之外执行或捕获事件