我遇到了一个像您一样的问题,并创建了一个项目(目前存在一些问题的概念证明),以简化条码的摆放操作.
它基于以下事实:条形码读取器模仿键盘,但与它们以恒定的时间“打字”的人不同.基本上,它将允许您收听“条形码读取”事件.
演示用法:
public class SimpleTest extends JFrame {
public SimpleTest() throws HeadlessException {
// start of listening for barcode events
Toolkit.getDefaultToolkit().addAWTEventListener(new BarcodeAwareAWTEventListener(new BarcodeCapturedListener() {
@Override
public void barcodeCaptured(String barcode) {
JOptionPane.showMessageDialog(SimpleTest.this, "barcode captured: " + barcode);
}
}), AWTEvent.KEY_EVENT_MASK);
// end of listening for barcode events
getContentPane().setLayout(new FlowLayout());
getContentPane().add(new JLabel("Capture barcode demo"));
getContentPane().add(new JTextField(25));
}
public static void main(String[] args) {
SimpleTest simpleTest = new SimpleTest();
simpleTest.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
simpleTest.setVisible(true);
simpleTest.pack();
}
}
现在有一些问题,但是作为起点,我认为还可以,如果您有时间改进它,那就太好了.