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