Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.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 扫描仪和JOptionPane不能正常工作_Java_Java.util.scanner_Joptionpane - Fatal编程技术网

Java 扫描仪和JOptionPane不能正常工作

Java 扫描仪和JOptionPane不能正常工作,java,java.util.scanner,joptionpane,Java,Java.util.scanner,Joptionpane,我有一个扫描仪,我从控制台获取一周中的一天,然后我想在作业窗格中显示一天。showMessageDialog方法,但它不起作用 public class TestClass { public static void main(String[] args) { Scanner scan = new Scanner(System.in); String day = scan.nextLine(); JOptionPane.showMessa

我有一个
扫描仪
,我从控制台获取一周中的一天,然后我想在
作业窗格中显示一天。showMessageDialog
方法,但它不起作用

public class TestClass {

   public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        String day = scan.nextLine();

        JOptionPane.showMessageDialog(null, day);
   }
}
怎么了

提前谢谢


作为一种临时解决方案,您可以创建一个JFrame并调用JOptionpane,将该框架作为其父组件

import javax.swing.*
// Other imp code
JFrame m = new JFrame();
JOptionpane.showMessageDialog(m,day);

不确定这是否有帮助,但我发现您的代码没有问题。分享我的尝试,也许这会帮助你调试你的问题

package simple.concepts.com;

import java.util.Scanner;

import javax.swing.JOptionPane;

public class Test {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);

        System.out.println("Enter day");
        String day = scan.nextLine();

        JOptionPane.showMessageDialog(null, day);
        scan.close();
    }
}
在提供输入时:

输入日期:星期一

(按回车键)

你应该看到“星期一”的弹出窗口

编辑:


尝试使用管理权限运行eclipse。重新启动并再次运行。同时运行该程序一次并最小化所有窗口,您应该会看到它。在关闭弹出窗口之前,它会不断地进行输入。

您遇到了什么错误?我没有收到任何错误,它只是从控制台重复扫描文本,并且不会停止。您是否有JFrame作为父帧?不,这是我所有的代码。只要您的程序正在运行,控制台就会接受字符。这是因为控制台是独立于程序运行的windows进程。然而,这并不意味着你的程序正在读取所有控制台输入。我检查了一下,仍然在重复扫描文本。您使用什么平台和java版本?Windows 10。Java 1.8。我也使用完全相同的方法。尝试使用管理权限运行eclipse。重新启动并再次运行。同时运行该程序一次并最小化所有窗口,您应该会看到它。它不断地接受输入,直到和除非您关闭弹出窗口。是的。现在显示对话框。但它仍然在扫描文本,直到我按下对话框上的ok按钮。不管怎样,谢谢你。