如何在没有任何ActionEventJavaFX的情况下使窗口短时间弹出然后消失
您好,我使用JavaFx我想创建一个简单的窗口,它将出现在第一个应用程序将开始,然后它将停留很短的时间,然后它将自动消失,没有任何事件,然后我的主窗口将出现现在 有人能帮我这个主意吗如何在没有任何ActionEventJavaFX的情况下使窗口短时间弹出然后消失,javafx,Javafx,您好,我使用JavaFx我想创建一个简单的窗口,它将出现在第一个应用程序将开始,然后它将停留很短的时间,然后它将自动消失,没有任何事件,然后我的主窗口将出现现在 有人能帮我这个主意吗 package x; import javafx.application.Application; import javafx.application.Platform; import javafx.concurrent.Task; import javafx.scene.Scene; import javafx
package x;
import javafx.application.Application;
import javafx.application.Platform;
import javafx.concurrent.Task;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class AutoHideExmpl extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
VBox v = new VBox();
TextField fiiled = new TextField("asdasdf");
TextField d = new TextField("asdfasdf");
TextField gd = new TextField("asdf");
TextField da = new TextField("asdf");
TextField cd = new TextField("asdf");
v.getChildren().addAll(fiiled, d, gd, da, cd);
v.setMinSize(500, 500);
Scene c = new Scene(v);
primaryStage.setScene(c);
primaryStage.show();
Stage s1 = new Stage();
VBox v1 = new VBox();
TextField fiiled1 = new TextField("asdasdf");
TextField d1 = new TextField("asdfasdf");
TextField gd1 = new TextField("asdf");
TextField da1 = new TextField("asdf");
TextField cd1 = new TextField("asdf");
v1.getChildren().addAll(fiiled1, d1, gd1, da1, cd1);
v1.setMinSize(300, 300);
Scene c1 = new Scene(v1);
s1.setScene(c1);
s1.show();
Task t = new Task<Void>() {
@Override
protected Void call() throws Exception {
Thread.sleep(60000);
Platform.runLater(() -> {
s1.close();
});
System.out.println("hidding");
return null;
}
};
Thread ts = new Thread(t);
ts.start();
}
}
我希望这能帮助你,如果有的话?写评论请发布一些您尝试过的代码,并解释为什么它不能满足您的要求。你还需要澄清你的问题(很多)。你说的“短时间”是什么意思?多久?为什么要这样做:你是在加载数据时创建一个启动屏幕吗?我的意思是显示几秒钟我会指定时间,我想这样做是因为我有一个简单的想法为我的应用程序做一个演示,例如photoshop开始启动时,第一个窗口会显示他们的徽标等。例如显示窗口Welcome看起来像是你想要的东西,除了在一段时间内显示外,什么都不做。通常是一个启动屏幕,这就是你所描述的,用途:当启动过程在后台进行时显示。如果没有任何启动过程,则不应使用启动屏幕(这是不必要的延迟)。如果你有启动流程,你的问题就复杂多了。同样,请显示您现有的代码。可能会看到这个(似乎是?)相关问题的答案:。尽管问题涉及预加载程序,但答案中提到了实现类似功能的其他方法(例如,仅创建类似JavaFX的stage),或者使用
-splash:
命令行开关。-@Fadi Fodoy高于ans是否已满使用?如果不告诉我。我会在启动窗口中添加一个图像,然后重新发布我的代码
Thread ts = new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(60000);
Platform.runLater(() -> {
s1.close();
});
System.out.println("hidding");
} catch (InterruptedException e) {
e.printStackTrace();
}
}
});
ts.start();