我在用javafx中的sizeToScene方法调整舞台的大小时遇到问题。
如果我将根节点大小更改为最大屏幕大小和调用sizeToScene之上,则窗口将调整为最大可能的屏幕大小。 但是,如果我记得sizeToScene,则场景会变得大于舞台,并且应用程序将被切断。 有时,第一个调用导致的行为与上一个描述的行为相同。
我不知道这是否是正常行为,是否有解决方法可以将场景的大小调整为舞台的大小。
在Linux和Windows上也发生了同样的事情。
下面的例子
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;
public class SceneSizeBug extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
Button button = new Button("test");
button.setOnAction(e -> {
button.setPrefSize(2000, 2000);
primaryStage.sizeToScene();
});
button.setPrefSize(1280, 1024);
Scene s = new Scene(button, -1, -1);
primaryStage.setScene(s);
primaryStage.show();
}
}