我在 Java 中的 JOptionPane 不会继续到下一个 Window?

My JOptionPane In Java Doesn't Continue To The Next Window?

好的,所以我正在尝试使用 JOptionPane 方法创建一个非常简单的 java 计算器,这主要只是一个实验,但回到问题。为什么当我的第一个 JOptionPane Window 出现时它没有继续到第二个 window 应该说 "Enter an Operator"?任何帮助表示赞赏!谢谢!

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

 }

这一行 a1 = scan.nextInt(); 需要来自命令行的一些输入。直到您不在命令行上输入任何内容,程序才会停止。

将图形 UI 元素(即 JOptionPane)与非 GUI 元素(即 Scanner)混合不是一个好主意。

对于命令行版本,使用 System.out.println 输出给用户,使用 Scanner 输入(就像您已经做的那样)。例如,对于 Swing 版本,通过使用 javax.swing.JWindow 使用完整的 GUI 方法。 JOptionPane 实际上只是用于从图形上下文(如 window 或框架)中弹出选项。在您的示例中,没有图形上下文。