java 或swing 关于键盘监听
小弟要做一款身份证读卡器PC端软件。
假设PC端现有一需要填写身份信息软件(身份录入系统),如姓名,性别,年龄。
以往是操作员对照身份证手动输入。
现在有一身份证读卡器,各项信息在PC端已实现读取,保存等。
现问题是如何和身份录入系统对接,实现一刷身份证,改软件自动填充。
有想过JAVA写个后台监听键盘程序,如监听到ALT+N就自动填充姓名。
请大佬们提供一个思路,或者实现方式。以及怎么和别人的录入系统对接?
[解决办法]
是要监听组合键吗?
这是CTRL+C的列子
import java.awt.Color;
import java.awt.Frame;
import java.awt.Panel;
import java.awt.TextArea;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
public class Gui10 extends Panel {
public Gui10(String title) {
Frame frame = new Frame(title);
frame.setSize(200, 400);
frame.setLocationRelativeTo(null);
frame.setResizable(true);
init();
frame.add(this);
frame.setVisible(true);
frame.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
private void init() {
final TextArea textArea = new TextArea(10, 20);
textArea.setBackground(Color.CYAN);
textArea.setText("test");
this.add(textArea);
textArea.addKeyListener(new KeyListener() {
@Override
public void keyTyped(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
System.out.println("arg0.getModifiers()=" + e.getModifiers());
System.out.println("arg0.getKeyCode()=" + e.getKeyCode());
// CTRL+C按下
if (e.getModifiers() == 2 && e.getKeyCode() == 67) {
System.out.println("CTRL+C......");
}
}
@Override
public void keyPressed(KeyEvent e) {
}
});
}
public static void main(String[] args) {
new Gui10("demo");
}
}