SwingJava:听第二次按键
我有一个颜色列表,上面有与之相关的数字。我希望这样,如果用户输入“2”,它会选择“2:绿色”;如果输入“21”,则选择“21:黄色”;等等,我试着使用按键,我想我需要一些方法让程序监听第一个被按下的数字,然后等待一秒钟,看看是否有另一个被按下。例如,类似这样的事情:
// The integer pressed will always be zero or positive.
private void jComboBox1KeyPressed(KeyEvent evt) {
int code = -1;
for(int i = 0; i < 10; i++) {
if (evt.getKeyCode() == i) {
if (code == -1) {
code = i;
} else {
code += i;
}
break;
}
}
// PSEUDO-CODE: if (KeyEvent newEvt is pressed within 1 sec) {
jComboBox1KeyPressed(newEvt);
}
}
然后,我假设我有一个带有索引和颜色编号的键值映射,我会根据code
(所选颜色编号)为jComboBox1
设置所选项目
我按下一个键就能让它工作:
private void jComboBox1KeyPressed(java.awt.event.KeyEvent evt) {
if (evt.getKeyCode() == KeyEvent.VK_0) {
jComboBox1.setSelectedItem("2: Green");
}
else if (evt.getKeyCode() == KeyEvent.VK_1) {
jComboBox1.setSelectedItem("21: Yellow");
}
else if (evt.getKeyCode() == KeyEvent.VK_2) {
jComboBox1.setSelectedItem("13: Blue");
}
else if (evt.getKeyCode() == KeyEvent.VK_3) {
jComboBox1.setSelectedItem("2041: Red");
}
}
以下是界面:
请注意:这是我快速制作的一个示例,而不是我正在创建的实际应用程序。我的应用程序包含了更多的数字选项,但与本例一样,数字始终是正的
共 (0) 个答案