我有一个可观察的播放列表类型列表。
我有一个下拉菜单(连接到MenuButton
),列表中的每个项目都带有MenuItem
(加上一些默认项目,我的硬编码不会更改)。
对于TableView
,我能够将数据链接到ObservableList,并且表的行会根据List的内容自动更新。
有没有办法为MenuButton
及其MenuItem
列表做同样的事情?
答案 0 :(得分:1)
我不确定是否有内置支持,但无论哪种方式,您都可以通过编写监听器为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()
,$email = $_SESSION['email'];
$firstname = $user['first_name'];
// Create database for user if not exists
$DB_CON->exec("CREATE TABLE IF NOT EXISTS `".$email."` (
`id` INT NOT NULL AUTO_INCREMENT,
`first_name` VARCHAR(100) NOT NULL DEFAULT '.$firstname.'
PRIMARY KEY (`id`)
)");
等。)
P.S - 此代码未经测试,因为我目前无法访问编译器。