繁体   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