JavaFX是否有支持流式列布局且支持项选择的组件?
适合的JavaFX组件推荐
根据你的需求,推荐以下两个JavaFX组件,完全覆盖你需要的列状展示、选择、滚动等功能:
ListView:这是最适配基础需求的组件。默认就是垂直列表布局,原生支持鼠标点击选择、键盘上下键导航选择;通过getSelectionModel().getSelectedItem()可直接获取选中条目;调用scrollTo(selectedIndex)就能自动滚动到选中项位置。如果需要让条目呈现TilePane的卡片样式,只需自定义ListCell,在updateItem()方法中设置单元格的布局与样式,就能实现Tile的视觉效果。GridView(JavaFX 17+):如果需要多列的垂直流式布局(和垂直TilePane的多列排列逻辑一致),JavaFX 17及以上版本新增的GridView是更优选择。它支持网格状条目展示,自带选择模型,同样支持鼠标、键盘选择,也能通过scrollTo()方法滚动到指定条目,所有你需要的特性都已内置。
TilePane仅作为布局容器存在,没有内置选择模型和滚动支持,要实现你需要的功能得手动大量编写事件监听与滚动逻辑,成本很高,不推荐使用。
内容的提问来源于stack exchange,提问作者SilverCube
相关产品推荐
相关产品推荐

