gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 13:14:13 24 4
gpt4 key购买 nike

我有一个类型为“播放列表”的可观察列表。

我有一个下拉菜单(连接到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 - 此代码未经测试,因为我当前无法访问编译器。

关于java - 基于可观察列表动态创建菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43837663/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com