有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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");
    }
}

以下是界面:

app interface

请注意:这是我快速制作的一个示例,而不是我正在创建的实际应用程序。我的应用程序包含了更多的数字选项,但与本例一样,数字始终是正的


共 (0) 个答案