我有一个关于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");
答案 0 :(得分:0)
你应该有一个类控制器来管理所有不同的gui类。所以你可以使用同一个类中的所有变量并在需要的地方调度它