【发布时间】:2017-11-15 22:54:59
【问题描述】:
我想在Stage 被用户最大化之前获取/记住它的边界。我注意到我可以将事件处理程序添加到舞台的最大化属性,但这对我没有帮助。舞台此时已经最大化,getX() 或 getWidth() 已经报告了舞台最大化后的位置或大小。
myStage.maximizedProperty().addListener((observable, oldValue, newValue) -> {
double x = myStage.getX(); // already too late, x has changed
...
我怎样才能得到舞台的边界之前它已经改变了大小?使用当前的 API 是否也能做到这一点?
PS:更大的目标是记住舞台位置、状态和屏幕。如果用户定位舞台、最大化它、退出应用程序并再次重新启动它,那么我希望舞台的定位就像用户退出应用程序之前一样。这意味着我需要首先将新阶段定位在先前未最大化的位置,然后将其最大化,以恢复先前的状态。但是在最大化这个接缝之前不知道尺寸是不可能的。
【问题讨论】:
标签: java javafx event-handling javafx-8