【发布时间】:2015-01-08 08:05:02
【问题描述】:
一开始我尝试实现似乎很容易的任务,但我无法成功。
我想强制主应用程序窗口是方形的。
以下 sn-p 在调整窗口高度时有效(它会闪烁,但宽度已正确更新),但当我更改舞台宽度时,它不会调整大小。
有人知道在 javafx 中限制舞台大小的更好方法吗?
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.stage.Stage;
public class SquareStage extends Application {
public void start(Stage stage) throws Exception {
stage.setTitle("Square Stage");
stage.setWidth(300);
stage.setHeight(300);
ChangeListener<? super Number> listener = (ObservableValue<? extends Number> prop, Number oldVal, Number newVal) -> {
if (prop == stage.widthProperty()) {
stage.setHeight(newVal.doubleValue());
}
if (prop == stage.heightProperty()) {
stage.setWidth(newVal.doubleValue());
}
};
stage.widthProperty().addListener(listener);
stage.heightProperty().addListener(listener);
stage.show();
}
public static void main(String[] args) {
launch(args);
}
}
【问题讨论】: