4
A
回答
7
我找不到優雅的問題解決方案。但我發現這兩個選擇:
獲取某個節點的窗口引用的場景
@FXML private Button closeButton ; public void handleCloseButton() { Scene scene = closeButton.getScene(); if (scene != null) { Window window = scene.getWindow(); if (window != null) { window.hide(); } } }
傳遞窗口作爲參數傳遞給控制器加載FXML時。
String resource = "/modalWindow.fxml"; URL location = getClass().getResource(resource); FXMLLoader fxmlLoader = new FXMLLoader(); fxmlLoader.setLocation(location); fxmlLoader.setBuilderFactory(new JavaFXBuilderFactory()); Parent root = (Parent) fxmlLoader.load(); controller = (FormController) fxmlLoader.getController(); dialogStage = new Stage(); controller.setStage(dialogStage); ...
而FormController必須實現setStage方法。
0
@FXML
private Button closeBtn;
Stage currentStage = (Stage)closeBtn.getScene().getWindow();
currentStage.close();
另一種方式是通過調用
定義靜態吸氣的舞臺和訪問主類
public class Main extends Application {
private static Stage primaryStage; // **Declare static Stage**
private void setPrimaryStage(Stage stage) {
Main.primaryStage = stage;
}
static public Stage getPrimaryStage() {
return Main.primaryStage;
}
@Override
public void start(Stage primaryStage) throws Exception{
setPrimaryStage(primaryStage); // **Set the Stage**
Parent root = FXMLLoader.load(getClass().getResource("sample.fxml"));
primaryStage.setTitle("Hello World");
primaryStage.setScene(new Scene(root, 300, 275));
primaryStage.show();
}
}
現在你可以訪問此階段
Main.getPrimaryStage()
在控制器類
public class Controller {
public void onMouseClickAction(ActionEvent e) {
Stage s = Main.getPrimaryStage();
s.close();
}
}
相關問題
- 1. 發送類對象到舞臺控制器 - javafx
- 2. 如何在控制器類中引用舞臺?
- 3. JavaFX的2窗口事件控制器
- 4. 打開窗口/舞臺時調用代碼JavaFX
- 5. JAVAFX:使用JFOENIX改變舞臺窗口顏色
- 6. 用javaw控制檯窗口?
- 7. JavaFX 8:舞臺鑲嵌(窗飾厚度)?
- 8. 其他控制檯窗口
- 9. .NET控制檯窗口
- 10. Unkillable控制檯窗口
- 11. 隱藏控制檯窗口
- 12. 隱藏控制檯窗口
- 13. Drag'n'drop到控制檯窗口
- 14. 檢測控制檯窗口?
- 15. 激活控制檯窗口
- 16. Visual Studio控制檯窗口
- 17. 控制檯窗口關閉
- 18. 控制PowerShell控制檯窗口位置
- 19. 從控制器內訪問舞臺
- 20. 如何調用舞臺上的功能JavaFX中的控制器文件
- 21. JavaFx 2.0:控制舞臺元素的Z順序
- 22. JavaFX能夠控制窗口組件嗎?
- 23. 無法在控制檯的主類中使用舞臺
- 24. 如何使用JavaFx中的控制器類將控件綁定到舞臺的大小?
- 25. JavaFX舞臺背景顏色?
- 26. JavaFX的傳球和舞臺
- 27. 在javaFX中搖晃舞臺
- 28. JavaFX如何更改舞臺
- 29. JavaFX輔助舞臺onCloseRequest
- 30. 打印舞臺與JavaFX 8