如果按下键盘,JOptionPane会中断扫描仪输入

时间:2014-01-02 17:10:02

标签: java swing keyboard java.util.scanner joptionpane

我已将问题简化为以下代码。

运行时,您会看到一条消息。

如果使用鼠标并单击“确定”,则可以继续键入新命令。

如果按键盘上的“输入”或“空格”,则键盘输入会中断。即,可以在命令行中输入内容,但“返回”不会执行任何操作。

import java.io.IOException;
import java.util.Scanner;
import javax.swing.JOptionPane;

public class MainClass {

    public static void main(String[] args) throws IOException {
        Scanner sc = new Scanner(System.in);
        while(true){
            System.out.println("hello, please enter your command");
            String UsrCmd = sc.nextLine();
            System.out.println("you tyep: " + UsrCmd);

            JOptionPane.showMessageDialog (null,"Dialog Text","Title Text",JOptionPane.QUESTION_MESSAGE);

            //Work around for Linux users:
            //Runtime.getRuntime().exec("/usr/bin/zenity --info --text='hello'");
        }
    }
}

(我是S.o.f的新手。我提前为错误道歉。请在我制作的地方纠正我。谢谢。)

JR 1.7 Fedor 20 64bit。

1 个答案:

答案 0 :(得分:0)

它应该正常工作,因为你没有任何声明可以阻止执行或休息;命令。但是,我建议您使用JDK(java开发人员工具包)而不是JRE。