0
菜单项我有一个类型的播放列表的可观察名单。动态地创建基于可观察名单
我有一个下拉菜单(连接到MenuButton
)与MenuItem
列表中的每个项目(加上几个默认项目我硬代码不会改变)。
对于TableView
,我能够将数据链接到一个ObservableList,他们和表格中的行自动更新基于该列表的内容。
有没有办法做一个MenuButton
和其MenuItem
的名单是一回事吗?
菜单项我有一个类型的播放列表的可观察名单。动态地创建基于可观察名单
我有一个下拉菜单(连接到MenuButton
)与MenuItem
列表中的每个项目(加上几个默认项目我硬代码不会改变)。
对于TableView
,我能够将数据链接到一个ObservableList,他们和表格中的行自动更新基于该列表的内容。
有没有办法做一个MenuButton
和其MenuItem
的名单是一回事吗?
我不确定是否有内置的支持,但无论哪种方式,您都可以通过编写一个监听器来为基于ObservableList
的任何元素编写包装。例如,
public class BoundMenuButton extends MenuButton {
ObservableList<MenuItem> items;
public BoundMenuButton(items) {
super(); // Not sure if needed
this.items = items;
// Listen for changes
items.addListener((ListChangeListener.Change<? extends MenuItem> change) -> {
updateItems();
});
}
public void updateItems() {
Platform.runLater(() -> {
// Do updates
});
}
}
这只是非常基础。您可以扩展该方法,使其与TableView
的方法相同。 (getItems()
,setItems()
,等等)。
P.S - 此代码是未经测试,因为我没有获得一个编译器目前。
酷,我要去给这个一杆。我会让你知道它是怎么回事,谢谢! – JoshuaD
@JoshuaD没有问题,让我知道如果你需要任何更多的帮助:) – Chris