gpt4 book ai didi

java - 在 JavaFX 中显示和隐藏主舞台

转载 作者:行者123 更新时间:2023-11-30 06:50:05 26 4
gpt4 key购买 nike

默认情况下,当 JavaFX 中所有窗口都关闭时,应用程序将终止。但是,我使用 Platform.setImplicistExit(false) 让应用程序保持不变。现在,当应用程序激活时,我将如何显示该应用程序?从 Mac Dock Bar 激活应用程序时,是否有任何 activate 事件监听器可供我监听?

@Override
public void start(final Stage stage) throws Exception {
stage.setTitle("Hello World");

stage.setScene(
createScene(
loadMainPane()
)
);

stage.show();

Platform.setImplicitExit(false);
stage.setResizable(false);
}

或者是否有一个事件监听在单击系统关闭按钮时监听,以便我可以隐藏舞台 stage.close() 并且应用程序将在激活时显示?

最佳答案

看看这段代码有没有用。这会最小化关闭请求时的阶段,而不是关闭隐式退出。您仍然需要一种方法来在没有任务管理器的情况下正确关闭它,但这似乎是您想要的。如果不行就在下面评论。

package minimalist;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TextArea;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

public class Stack_Overflow extends Application{

public static void main(String[] args) {
launch(args);
}

@Override
public void start(Stage primaryStage) throws Exception {
TextArea text = new TextArea();
text.setText("Hello World!");
StackPane stack = new StackPane();
stack.getChildren().add(text);
Scene scene = new Scene(stack);
primaryStage.setScene(scene);
primaryStage.setOnCloseRequest(e -> {
e.consume();
primaryStage.setIconified(true);
});
primaryStage.show();
}
}

关于java - 在 JavaFX 中显示和隐藏主舞台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42995870/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com