我的Java JOptionPane没有继续到下一个窗口?
好的,我正在尝试使用JOptionPane方法创建一个非常简单的java计算器,这主要是一个实验,但回到问题上来。为什么当我的第一个JOptionPane窗口出现时,它不会继续显示第二个窗口,该窗口应显示“输入操作员”?感谢您的帮助!谢谢
import javax.swing.JOptionPane;
import java.util.*;
public class Calculator {
double a1, a2;
char b1;
public void Cal() {
Scanner scan = new Scanner(System.in);
Scanner in = new Scanner(System.in);
JOptionPane.showInputDialog("Enter Ur First Number ");
a1 = scan.nextInt();
JOptionPane.showInputDialog("Enter an Operator");
b1 = in.next().charAt(0);
if (b1 == '-' || b1 == '+' || b1 == '*' || b1 == '/') {
}
else {
System.out.println("Invalid Input");
}
JOptionPane.showInputDialog("Enter Ur Second Number");
a2 = scan.nextInt();
JOptionPane.showMessageDialog(null, a1 + b1 + a2);
}
}
# 1 楼答案
此行
a1 = scan.nextInt();
需要来自命令行的一些输入。除非您在命令行中输入任何内容,否则程序将阻塞将图形UI元素(即
JOptionPane
)与非GUI元素(即Scanner
)混合使用不是一个好主意对于命令行版本,使用
System.out.println
作为用户的输出,Scanner
作为输入(就像您已经做的那样)。对于Swing版本,使用完整的GUI方法,例如使用javax.swing.JWindow
JOptionPane
实际上只是用于从图形上下文(如窗口或框架)中弹出选项。在您的示例中,没有图形上下文