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