文本字段中的BarcodeScanner输入(击键)

时间:2017-07-04 13:05:18

标签: java

我有一个关于litte项目的想法我想用一个简单的逻辑比较一些数字,为此我生成了许多条形码并想要扫描它们,我想我可以使用KeyStroke来处理它。是否有可能即使活动窗口不是Gui,其中Textfield是他检测到我的前缀然后在Textfield中写入字符串并以后缀结束?

前缀是:TAB + * + PageDown

后缀是:回车(这里他应该离开Textfield)或者我可以在这里创建一个新的击键事件和.getActionMap ......而不是...

我的想法是使用.getActionMap()

...
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);

JTextField text = new JTextField();

panel.getActionMap().put("foo", new AbstractAction() { public void actionPerformed
(ActionEvent e) { 
text.setText(br.readLine());
}

和一个InputMap

InputMap inputMap = panel.getInputMap();   inputMap.put(KeyStroke.getKeyStroke(KeyEvent.VK_A, 
InputEvent.CTRL_MASK | InputEvent.VK_TAB), "foo");

1 个答案:

答案 0 :(得分:0)

你应该有一个类控制器来管理所有不同的gui类。所以你可以使用同一个类中的所有变量并在需要的地方调度它