Java 基于可观察列表动态创建菜单项

Java 基于可观察列表动态创建菜单项,java,javafx,Java,Javafx,我有一个可观察的播放列表类型列表 我有一个下拉菜单(连接到MenuButton),列表中的每个项目都有一个MenuItem(加上一些默认项目,我硬编码它们不会改变) 对于表格视图,我可以将数据链接到ObservableList,表格的行会根据列表的内容自动更新 对于MenuButton及其MenuItems列表,是否有同样的方法 我不确定是否有内置的支持,但无论哪种方式,您都可以通过编写侦听器,根据observeList为您想要的任何元素编写包装器。比如说, public class Bound

我有一个可观察的播放列表类型列表

我有一个下拉菜单(连接到
MenuButton
),列表中的每个项目都有一个
MenuItem
(加上一些默认项目,我硬编码它们不会改变)

对于
表格视图
,我可以将数据链接到ObservableList,表格的行会根据列表的内容自动更新


对于
MenuButton
及其
MenuItem
s列表,是否有同样的方法

我不确定是否有内置的支持,但无论哪种方式,您都可以通过编写侦听器,根据
observeList
为您想要的任何元素编写包装器。比如说,

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
        });
    }
}
public类BoundMenuButton扩展了MenuButton{
可观察项目;
公共边界菜单按钮(项目){
super();//不确定是否需要
这个项目=项目;
//倾听变化

items.addListener((ListChangeListener.ChangeCool,我来试一试。我会让你知道情况的,谢谢!@JoshuaD没问题,如果你需要更多帮助,请告诉我:)