为什么在使用扫描仪时我的JOptionPane不显示?

时间:2015-05-22 21:57:33

标签: java java.util.scanner joptionpane

我缩小了我的问题:如果我使用扫描仪,则不会出现JOptionPane。例如,这很好用:

public static void main(String[] args) {
    System.out.println("Before the dialog.");
    JOptionPane.showMessageDialog(null, "Please.");
    System.out.println("After the dialog.");
}

即使这样也有效:

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("Before the dialog.");
    JOptionPane.showMessageDialog(null, "Please.");
    System.out.println("After the dialog.");
}

但是,这不起作用:

public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    int hi = butler.nextInt();
    System.out.println("Before the dialog.");
    JOptionPane.showMessageDialog(null, "Please.");
    System.out.println("After the dialog.");
}

在最后一个示例中,程序等待输入,然后显示“在对话框之前”。之后,程序似乎冻结了。

我尝试在创建对话框之前关闭扫描仪,但这没有效果。

1 个答案:

答案 0 :(得分:0)

Scanner读取输入后出现。它只是没有出现在顶层窗口。有关如何解决此问题,请参阅JOptionPane won't show its dialog on top of other windows