javafx - 如何在 JavaFx 中调用更改 Tab 的方法?
问题描述
好的,这就是我想要做的:我有一个名为“SettingsPage”的页面。现在,在这个页面中,我有一个带有 3 个选项卡的 tabPane;用户、按钮和销售。按钮和用户都有表格,需要在用户查看之前填充数据。当我第一次制作程序时,我只是使用“初始化”方法在“设置页面”打开时填充用户表。但是,现在我开始尝试填充按钮表,我遇到了内存错误,因为现在要一起加载的数据太多了。
因此,我认为一个很好的解决方案是创建一个 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
}
}
}
);
推荐阅读
- python - 在地块后面添加所需的国家底图,不是很详细,只有外部边界
- python - AttributeError:模块“torchtext.data”没有属性“TabularDataset”
- firebase - throw MissingPluginException('在通道 $name 上找不到方法 $method 的实现');
- java - 没有 SonarQube 的 Eclipse 上的 SonarLint/Java:Lombok 生成的类的误报
- python - FileNotFoundError Try and except 似乎不起作用
- mongodb - 使用 MongoDB Atlas 的 GCP 推荐系统
- angular - 如何以角度动态删除css类
- javascript - 如何根据创建时间从火力库中选择文档?
- bash - crontab 不运行 bash 脚本
- html - 我正在尝试使用 css 更改行高和字体大小,但它不起作用