[英]How does one call a method on the changing of a Tab in JavaFx?
好的,這就是我想要做的:我有一個名為“SettingsPage”的頁面。 現在,在這個頁面中,我有一個帶有 3 個選項卡的 tabPane; 用戶、按鈕和銷售。 按鈕和用戶都有表格,需要在用戶查看之前填充數據。 當我第一次制作程序時,我只是使用“初始化”方法在“設置頁面”打開時填充用戶表。 但是,現在我開始嘗試填充按鈕表,我遇到了 memory 錯誤,因為現在要同時加載的數據太多。
因此,我認為一個很好的解決方案是創建一個 Event 方法,該方法在打開某個選項卡時調用。 我正在使用 SceneBuilder atm,似乎與此等效的是 onSelectionChanged,但是我似乎無法使用它,因為您將使用“methodEg(ActionEvent 事件)...”。 所以我的問題是,如何確保在打開某個選項卡時調用一個方法。
例如,當單擊“buttonTab”時,會調用“populateButtonTable”方法。
答案是這段代碼:
如果有人問我為什么不使用.isSelected()...我做到了,由於某種原因它沒有用,但我在下面所做的工作,所以我不知道......
'''
@FXML public void initialize(URL url, ResourceBundle rb){
tabs.getSelectionModel().selectedItemProperty().addListener(
new ChangeListener<Tab>() {
@Override
public void changed(ObservableValue<? extends Tab> ov, Tab t, Tab t1)
{
if (tabs.getSelectionModel().getSelectedItem() == ExampleTab)
{
//do whatever
}
}
}
);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.