1

我的目标是拥有一个 GridPane,其中每个项目都增长到最大尺寸。然而,当我使用 Spinner 组件时,会出现一些无法解释的调整大小效果:每当 Spinner 组件获得焦点或值发生变化时,它都会增长一点,直到另一个组件达到其最小尺寸为止。

代码片段:

ChoiceBox<String> box1 = new ChoiceBox<>();
box1.getItems().add("Item 1");
box1.setMaxWidth(Double.MAX_VALUE);

Spinner spinner = new Spinner(1, 365, 1);
spinner.setMaxWidth(Double.MAX_VALUE);

GridPane gridPane = new GridPane();
gridPane.setHgap(5);
gridPane.setVgap(5);
gridPane.setPadding(new Insets(5));
gridPane.addRow(0, box1, spinner);

GridPane.setHgrow(box1, Priority.ALWAYS);
GridPane.setHgrow(spinner, Priority.ALWAYS);

Scene scene = new Scene(gridPane, 1000, 400);
primaryStage.setTitle("Spinner in GridPane");
primaryStage.setScene(scene);
primaryStage.show();

谁能解释我为什么会发生这种情况以及如何摆脱它?

4

1 回答 1

0

根据 JDKBug,它已修复,将在 JAVA9 中可用

于 2017-02-21T15:36:40.737 回答