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