如何在ListView中设置可见行计数

时间:2014-04-27 22:29:35

标签: java swing listview javafx jlist

如何在JavaFX中有一个ListView,当到达特定数量的行/列时,它会包含元素,具体取决于显示orientation。实际上我正在ListView组件中搜索JList的setVisibleRowCount()方法。事实上,我有一个带有二次分量的大二次空间。我需要列表的功能,所以我不想使用像TilePane这样的东西,这将使我发明轮子。

2 个答案:

答案 0 :(得分:0)

我认为您可以通过布局ListView来控制可见行的数量。根据它是否放置在具有静态或动态布局的窗格中,行数将是固定的还是动态的。

答案 1 :(得分:0)

我无法完全理解您要解决的问题,但我的问题与您的共同基础。

我想在ListView中设置可见行数(确切 3 )。解决方案是将列表视图的首选高度与节点图中参考点的高度绑定。就我而言,TextField给出了完美的结果。我可以想象,理想情况是将首选高度(或与)绑定到ListCell的高度(或宽度),这是列表视图实际包含的内容。

我把这段代码放在我的控制器初始化方法中:

Platform.runLater(() ->
        myListView.prefHeightProperty().bind(someTextField.heightProperty().multiply(3)));

请注意,我必须使用Platform.runLater(Runnable),因为在控制器初始化期间,节点没有高度。如果我在没有延期的情况下限制了首选高度,那么就会出现视觉错误。