javafx怎么在一个类里关闭其他类的窗口
时间: 2024-03-25 13:41:01 浏览: 85
如果您需要在一个JavaFX类中关闭其他类的窗口,您可以考虑将需要关闭的窗口作为参数传递给该类的方法。例如,您可以创建一个名为`WindowManager`的类,并在该类中定义一个名为`closeWindow`的静态方法,用于关闭指定的窗口。以下是一个示例代码:
```java
public class WindowManager {
public static void closeWindow(Stage window) {
window.close();
}
}
```
在上面的代码中,我们定义了一个`WindowManager`类,并在该类中定义了一个名为`closeWindow`的静态方法。该方法接受一个`Stage`参数,用于指定需要关闭的窗口。在方法体中,我们调用`close()`方法关闭该窗口。
现在,如果您需要在其他JavaFX类中关闭窗口,您可以直接调用`WindowManager.closeWindow()`方法,并将需要关闭的窗口作为参数传递给该方法。例如,如果您需要在`MainController`类中关闭`SecondController`类的窗口,您可以在`MainController`中调用以下代码:
```java
public class MainController {
@FXML
private void handleCloseButtonAction(ActionEvent event) {
Stage secondStage = SecondController.getStage(); // 获取SecondController的窗口
WindowManager.closeWindow(secondStage); // 关闭SecondController的窗口
}
}
```
在上面的代码中,我们在`MainController`类中定义了一个名为`handleCloseButtonAction`的事件处理程序,该处理程序会在用户单击关闭按钮时被调用。在处理程序中,我们通过调用`SecondController.getStage()`方法获取`SecondController`类的窗口,并将其传递给`WindowManager.closeWindow()`方法关闭该窗口。
请注意,上述代码中的`SecondController.getStage()`方法是一个自定义方法,您需要在`SecondController`类中实现该方法,用于获取该类的窗口。
阅读全文