键盘记录器中的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 楼答案
Java语言不适合这份工作。您无法在运行应用程序的vm之外执行或捕获事件