Java 在一个方法中使用wait(KeyEvent.VK_ENTER)两次
我试图在同一个方法中使用“wait(KeyEvent.VK_ENTER)”两次,但是当涉及到第二次时,它会同时执行这两个操作。我的意思是,当我输入第二个值时,它会执行所有计算,但随后它会返回到第一个“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
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依赖于对其事件的连续处理来实现正常的用户界面。当您等待或睡眠时,会延迟这些事件的处理,并有效地挂起应用程序。