Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在一个方法中使用wait(KeyEvent.VK_ENTER)两次_Java - Fatal编程技术网

Java 在一个方法中使用wait(KeyEvent.VK_ENTER)两次

Java 在一个方法中使用wait(KeyEvent.VK_ENTER)两次,java,Java,我试图在同一个方法中使用“wait(KeyEvent.VK_ENTER)”两次,但是当涉及到第二次时,它会同时执行这两个操作。我的意思是,当我输入第二个值时,它会执行所有计算,但随后它会返回到第一个“wait(KeyEvent.VK_ENTER)”所在的位置,并要求我输入另一个第二个值 public void calculate(){ print("Calculate" + "\n", false, new Color(0,204,0)); print("calculator

我试图在同一个方法中使用“wait(KeyEvent.VK_ENTER)”两次,但是当涉及到第二次时,它会同时执行这两个操作。我的意思是,当我输入第二个值时,它会执行所有计算,但随后它会返回到第一个“wait(KeyEvent.VK_ENTER)”所在的位置,并要求我输入另一个第二个值

public void calculate(){

    print("Calculate" + "\n", false, new Color(0,204,0));

    print("calculator activated" + "\n" + "please input your first value" + "\n", false, new Color(210, 190, 13));

    try {
        wait(KeyEvent.VK_ENTER);
    } 
    catch (Exception e1) {
    }


    input.addActionListener(new ActionListener(){

        public void actionPerformed(ActionEvent e) {

            String text1 = input.getText();
            double value1 = Double.parseDouble(text1);

            print(text1 + "\n", false, new Color(0,204,0));

            print("please input your second value" + "\n", false, new Color(210, 190, 13));

            try {
                wait(KeyEvent.VK_ENTER);
            } 
            catch (Exception e1) {
            }

            input.addActionListener(new ActionListener(){

                public void actionPerformed(ActionEvent e) {

            String text2 = input.getText();
            double value2 = Double.parseDouble(text2);

            print(text2 + "\n", false, new Color(0,204,0));

            doCommand(text2);
            scrollBottom();
            input.selectAll();

            double add = value1 + value2;
            double subtract = value1 - value2;
            double multiply = value1 * value2;
            double divide = value1 / value2;

        print("add = " + add + "\n", false, new Color(210, 190, 13));
        print("subtract = " + subtract + "\n", false, new Color(210, 190, 13));
        print("multiply = " + multiply + "\n", false, new Color(210, 190, 13));
        print("divide = " + divide + "\n", false, new Color(210, 190, 13));

        }


    });
}
    });
}

你能粘贴整个代码吗?(无法编译)。切勿编写空的
catch
块。至少,您应该调用捕获的异常的方法。否则,你怎么知道是不是出了什么问题?@chenchuk我没有足够的字符来写它。@VGR我明白了,我会加上它,但它仍然不能解决我的问题。谢谢,
wait
方法是从java.lang.Object继承的吗?如果是,你用错了;它的参数是以毫秒为单位的持续时间,而不是键代码。除此之外,您决不能在ActionListener中等待或睡眠,因为AWT和Swing依赖于对其事件的连续处理来实现正常的用户界面。当您等待或睡眠时,会延迟这些事件的处理,并有效地挂起应用程序。