2012-11-27 18 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() पर कॉल कर सकते हैं।

उदा। ((Node)event.getTarget()).getScene().getWindow()