Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.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
如何在方法';内显示输入消息JOptionPane.showInputDialog(";foo";);启动';这是在实现JavaFX场景吗?_Java_Javafx_Joptionpane - Fatal编程技术网

如何在方法';内显示输入消息JOptionPane.showInputDialog(";foo";);启动';这是在实现JavaFX场景吗?

如何在方法';内显示输入消息JOptionPane.showInputDialog(";foo";);启动';这是在实现JavaFX场景吗?,java,javafx,joptionpane,Java,Javafx,Joptionpane,我目前正在实现FX库的“开始”方法来显示场景 ` ` 现在,我希望能够通过对话框提示用户输入double类型的数据 x=Double.parseDouble(JOptionPane.showInputDialog(“请输入数据”)) 但是当我运行这个程序时,这个框实际上是被创建的,但是被锁定在任务栏上。然而,当我将这个句子添加到main方法中时,它确实显示了它应该显示的内容。有人能帮我吗。使用JavaFXAPI来实现这些功能(例如,a或更一般地说,a)。作为一个基本的经验法则,避免将多个UI框架

我目前正在实现FX库的“开始”方法来显示场景

`

`

现在,我希望能够通过对话框提示用户输入double类型的数据

x=Double.parseDouble(JOptionPane.showInputDialog(“请输入数据”))


但是当我运行这个程序时,这个框实际上是被创建的,但是被锁定在任务栏上。然而,当我将这个句子添加到main方法中时,它确实显示了它应该显示的内容。有人能帮我吗。

使用JavaFXAPI来实现这些功能(例如,a或更一般地说,a)。作为一个基本的经验法则,避免将多个UI框架混合在一起(即,除非必要,否则不要在JavaFX中使用Swing)。我发现JOptionpane确实会在Windows操作系统上显示,几乎可以肯定它也会在Linux上打开,但出于某种原因,在我的MacOSIf@dehlen中不这样做可以帮助我,我注意到他以前解决了一个类似的问题。作为您问题的可能解决方案,请尝试将
showInputDialog
调用放在事件调度线程(Swing的UI线程)上,如有必要,将结果发布回JavaFX应用程序线程(JavaFX的UI线程)。尽管如此,我还是警告不要将Swing与JavaFX混合使用。使用
对话框
或可用的子类之一,例如
文本输入对话框
——它们(显然)是为使用JavaFX而设计的。
public void start(Stage stage) throws Exception {
        Group root = new Group();
        Scene scene = new Scene(root);
        Canvas canvas = new Canvas(MAX_WIDTH, MAX_HEIGHT); 
        stage.setTitle("Foo1"); 
        root.getChildren().add(canvas);
        stage.setScene(scene);
        GraphicsContext gc = canvas.getGraphicsContext2D(); ...