2012-11-27 23 views
14

例如,我想開一個DirectoryChooser上的按鈕,當點擊:如何在FXML控制器中獲取父窗口?

<VBox fx:controller="com.foo.MyController" 
    xmlns:fx="http://javafx.com/fxml"> 
    <children> 
     <Button text="Click Me!" onAction="#handleButtonAction"/> 
    </children> 
</VBox> 

和控制器類:

package com.foo; 

public class MyController { 
    public void handleButtonAction(ActionEvent event) { 
     DirectoryChooser dc = new DirectoryChooser(); 
     File folder = dc.showDialog(null);//I want to put the WIndows here. 
    } 
} 

我想把主窗口的ShowDialog的使其將被阻止,但我如何訪問它?

回答

33

您可以詢問任何節點的Scene,然後致電Scene#getWindow()

E.g. ((Node)event.getTarget()).getScene().getWindow()

相關問題