मैं अपने जावाएफएक्स एप्लिकेशन को बंद करने से पहले एक फाइल को सहेजना चाहता हूं।जावाएफएक्स: स्टेज क्लोज हैंडलर
इस तरह मैं Main::start
में हैंडलर सेट कर रहा हूं:
primaryStage.setOnCloseRequest(event -> {
System.out.println("Stage is closing");
// Save file
});
और नियंत्रक Stage::close
बुला जब एक बटन दबाया जाता है:
@FXML
public void exitApplication(ActionEvent event) {
((Stage)rootPane.getScene().getWindow()).close();
}
मैं खिड़की लाल पर क्लिक बंद करते हैं खिड़की सीमा (सामान्य तरीका) पर एक्स तो मुझे आउटपुट संदेश "Stage is closing
" मिलता है, जो वांछित व्यवहार है।
हालांकि, Controller::exitApplication
पर कॉल करते समय एप्लिकेशन हैंडलर का उपयोग किए बिना बंद हो जाता है (कोई आउटपुट नहीं है)।
मैं नियंत्रक को हैंडलर का उपयोग कैसे कर सकता हूं जिसे मैंने primaryStage
में जोड़ा है?