默认情况下,当在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()
,应用程序会显示何时被激活?
答案 0 :(得分:1)
查看此代码是否有用。这会在关闭请求时最小化阶段,而不是关闭隐式退出。你仍然需要一种在没有任务管理器的情况下正确关闭它的方法,但这看起来像你想要的。如果它不只是在下面评论。
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();
}
}