คำถามติดแท็ก stage


7
JavaFX: จะรับสเตจจากคอนโทรลเลอร์ระหว่างการเริ่มต้นได้อย่างไร?
ฉันต้องการจัดการกับเหตุการณ์บนเวที (เช่นการซ่อน) จากคลาสคอนโทรลเลอร์ของฉัน ดังนั้นสิ่งที่ฉันต้องทำคือเพิ่มผู้ฟังผ่านทาง ((Stage)myPane.getScene().getWindow()).setOn*whatIwant*(...); แต่ปัญหาคือการเริ่มต้นจะเริ่มขึ้นทันที Parent root = FXMLLoader.load(getClass().getResource("MyGui.fxml")); และก่อนหน้านี้ Scene scene = new Scene(root); stage.setScene(scene); ดังนั้น. getScene () จะคืนค่า null วิธีแก้ปัญหาเดียวที่ฉันพบด้วยตัวเองคือการเพิ่ม Listener ใน myPane.sceneProperty () และเมื่อมันไม่เป็นโมฆะฉันจะได้ฉากให้เพิ่มเป็น. windowProperty () my! goddamn! การจัดการผู้ฟังซึ่งในที่สุดฉันก็เรียกเวทีได้ และทุกอย่างจบลงด้วยการตั้งค่าผู้ฟังที่ต้องการให้เข้าร่วมกิจกรรมบนเวที ผมคิดว่ามีผู้ฟังมากเกินไป เป็นวิธีเดียวที่จะแก้ปัญหาของฉันได้หรือไม่?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.