我的界面中有一个窗格。在该窗格上,我添加了Shape对象并拖动它们。
当一个Shape到达窗格的可视范围时,我该如何使窗格更大。作为原型,
每当我单击鼠标时,我都会尝试使其变大。窗格是ScrollPane中的子级。这是我的代码:

    paneArea.setOnMouseClicked(new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent mouseEvent) {
            System.out.println(paneArea.getWidth()+" "+paneArea.getHeight());
            paneArea.resize(paneArea.getWidth() + 100, paneArea.getHeight() + 100);
            System.out.println(paneArea.getWidth()+" "+paneArea.getHeight());
        }
    });


当我单击两次时,将得到以下结果:

602.0 574.0
702.0 674.0
602.0 574.0
702.0 674.0


因此,窗格基本上会短暂地调整大小,然后返回其原始大小。在FXML上,最大高度和宽度分别设置为USE_PREF_SIZE和MAX_VALUE。我还尝试在调用resize之前增加maxWidth / height,但没有区别。有什么建议吗?

最佳答案

我一直使用错误的方法以及fxml选项。这样做的方法是使用setPrefSize方法,然后在fxml文件的USE_PREF处设置最大大小。

关于java - JavaFX 2 Pane 动态调整大小,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15453959/

10-09 06:19