簡體   English   中英

如何在 JavaFx 中調用更改 Tab 的方法?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM