我在JavaFX TableView
中有一个ScrollPane
,还有一些与之平行的其他视图。这里有类似的东西:
<ScrollPane maxHeight="Infinity" maxWidth="Infinity" VBox.vgrow="ALWAYS">
<GridPane maxHeight="Infinity" maxWidth="Infinity" prefWidth="1100">
<columnConstraints>
<ColumnConstraints hgrow="SOMETIMES" maxWidth="Infinity" minWidth="0" />
<ColumnConstraints hgrow="SOMETIMES" maxWidth="Infinity" minWidth="0" />
</columnConstraints>
<rowConstraints>
<RowConstraints maxHeight="Infinity" minHeight="10.0" vgrow="ALWAYS" />
</rowConstraints>
<VBox GridPane.columnIndex="1" GridPane.rowSpan="2147483647">
<PieChart fx:id="amountPerState" legendVisible="false" minHeight="300" minWidth="300" />
<PieChart fx:id="amountPerComponent" legendVisible="false" minHeight="300" minWidth="300" />
</VBox>
<TableView fx:id="componentTable" maxHeight="Infinity" maxWidth="Infinity" GridPane.rowIndex="6">
<columns>
...
</columns>
</TableView>
</GridPane>
</ScrollPane>
现在,来自ScrollPane
和TableView
的双重滚动非常简单。当我尝试在TableView
内滚动ScrollPane
时也会滚动。我希望TableView
尽可能高的内容,以便只有ScrollPane
的滚动。任何想法我怎么能这样做?还是其他想法?
编辑:为了进一步说明,我认为TableView应该具有如此之高的首选大小,以便显示其所有内容而无需任何滚动。然后可能没有滚动条,或者我不能用策略显示它们。这就是我认为你会实现这一目标的方式,但我不知道如何找出表格内容的高度,使其成为首选尺寸。
我认为它会在性能上有点差,因为TableView
重复使用了这一行,但我知道TableView
中没有很多行,所以没有性能问题。
编辑:图表和表格对于窗口都很大,所以它们都需要在ScrollPane