如果我按下右上方的[X]按钮直接关闭窗口,Java FX中是否存在任何事件处理程序。 在这种情况下哪些事件会起火? 到目前为止没有任何工作,setOnHiding也没有setOnCloseRequest()
请帮忙。
答案 0 :(得分:2)
import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.layout.VBox;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import javafx.stage.WindowEvent;
public class Main extends Application {
@Override
public void start(Stage stage) {
Text text = new Text("!");
text.setFont(new Font(40));
VBox box = new VBox();
box.getChildren().add(text);
final Scene scene = new Scene(box,300, 250);
scene.setFill(null);
stage.setScene(scene);
stage.show();
stage.setOnCloseRequest(new EventHandler<WindowEvent>() {
public void handle(WindowEvent we) {
System.out.println("Stage is closing");
}
});
stage.close();
}
public static void main(String[] args) {
launch(args);
}
}
答案 1 :(得分:-1)
如果您只想关闭整个应用程序,可以轻松使用
Platform.exit();
而不是
stage.close();
关闭整个申请。