Javafx 2 JavaFX我可以重新绘制舞台吗?

Javafx 2 JavaFX我可以重新绘制舞台吗?,javafx-2,javafx,Javafx 2,Javafx,在键盘上输入程序中的一些值后,阶段开始,但同时我希望阶段处于打开状态,用户可以再次输入一些值并重新启动阶段 可能吗 我想这样做: primaryStage.setScene(scene); primaryStage.show(); javafx.application.Platform.runLater(new Runnable() { public void run() { if (TastaturEingabe.readBo

在键盘上输入程序中的一些值后,阶段开始,但同时我希望阶段处于打开状态,用户可以再次输入一些值并重新启动阶段

可能吗

我想这样做:

     primaryStage.setScene(scene);
    primaryStage.show();

    javafx.application.Platform.runLater(new Runnable() {
        public void run() {
            if (TastaturEingabe.readBoolean("Möchten Sie ein neues Diagramm zeichnen?")) {

                // Input through keyboard
                readInputJahrgang(vintage, FIRST_PROMPT);
                readInputLager(vintage, FIRST_PROMPT);
                primaryStage.hide();
            } else {
                primaryStage.close();
            }
            return;
        }
    });

这是用户和应用程序之间交互的错误设计

javafx.application.Platform.runLater(new Runnable() {
    public void run() {
将在JFX线程上运行,当您在命令行中与用户交谈时,UI将被冻结

您可以在单独的线程中通过comandline与用户对话,该线程可以使用runLater()调用通知JFX有关新用户输入的信息

因此,您可以在start方法中创建一个单独的线程,并将

readInputJahrgang(vintage, FIRST_PROMPT);
readInputLager(vintage, FIRST_PROMPT);
调用它的runnable

当用户输入重新绘制UI所需的新信息时,调用runLater()


在一般情况下,您不需要强制JavaFX重新绘制任何内容。它能自己做任何事实际上,我不明白。。是否对控制台进行键盘输入?通常情况下,您可以将新场景设置为舞台。。你可以隐藏/显示舞台..我改了。希望它现在更清楚了,但它不起作用。我的舞台冻结了,我什么都做不了。在另一种情况下(如果readBoolean为true),阶段将关闭,不可能再进行其他操作。我想我需要做一些事情来开始startmethod,这样我就可以再次这样做。但是在这种情况下,我不知道怎么做。抱歉,如果这是愚蠢的问题。我想问题是,我还没有使用线程。谢谢你的帮助。它工作!!!关于UI构建的主要关注点是当你的程序正在做一些有用的事情时,对用户的响应。这个任务需要使用线程。当一个线程满足用户需求,而其他线程满足用户需求时,请执行有用的工作。其协调是主要问题之一。线程-对于高效的UI构建来说是一个有意义的知识。请查看javafx.concurrent包,以了解有关JFX中线程的更多信息