结合JavaFX2 ListView和GridPane功能
我的目标是显示一个缩写列表,每行有两个条目:缩写和相应的长版本。为了一个好的布局,我使用了一个结合JavaFX2 ListView和GridPane功能,java,listview,layout,javafx-2,javafx,Java,Listview,Layout,Javafx 2,Javafx,我的目标是显示一个缩写列表,每行有两个条目:缩写和相应的长版本。为了一个好的布局,我使用了一个网格窗格,因为所有条目都是垂直对齐的——阅读起来很好 但我还想滚动到单击的缩写,并将焦点设置在它上,就像在它的列表视图中一样 例如,好的旧HTML中的#on页面链接。是否还有另一个javafxlayout元素我没有实现这一点?我不相信有提供的控件可以用于您描述的特定场景。然而,我认为其中一个选择可能适合你 使用TableView控件并为要显示的信息添加两列(一列表示缩写,另一列表示长版本)。TableV
网格窗格
,因为所有条目都是垂直对齐的——阅读起来很好
但我还想滚动到单击的缩写,并将焦点设置在它上,就像在它的列表视图中一样
例如,好的旧HTML中的#on页面链接。是否还有另一个javafx
layout元素我没有实现这一点?我不相信有提供的控件可以用于您描述的特定场景。然而,我认为其中一个选择可能适合你
使用TableView控件并为要显示的信息添加两列(一列表示缩写,另一列表示长版本)。TableView还具有您正在寻找的scrollTo和setFocus功能。是一个很好的资源,可以帮助您开始使用Tableview控件。您还可以使用CSS设置Tableview的样式,使其看起来不太像一个表,而更像一个列表,如果这正是您的意图的话
第二个选项是在ListView上设置自定义单元格工厂,该工厂使用HBox、VBox、标签等构建自定义单元格,以实现所需的外观。您还需要使用单元工厂使用包含缩写文本和长版本文本的对象填充每个ListView单元。一些好资源
尽管我认为这两个选项都可以,但我还是建议您选择选项1,因为在选项2中,您无论如何都在构建一个表类型的结构。我希望这是有帮助的