java - 读出是否在其他控制器中选择了 RadioButton
问题描述
我目前正在研究 JavaFX 项目,如果选择了 RadioButton,我需要从另一个类访问 FXML 对象以显示 ComboBox。
因此,例如,我有 4 个 RadioButtons 称为
//First Controller
@FXML
private RadioButton radioButtonS1, radioButtonS2, radioButtonS3, radioButtonS4;
我必须在另一个控制器中将它们读出以将它们设置为可见我的组合框被称为:
//Second Controller
@FXML
private ComboBox comboS1A, comboS1E1, comboS1E2;
@FXML
private ComboBox comboS2A, comboS2E1, comboS2E2;
@FXML
private ComboBox comboS3A, comboS3E1, comboS3E2;
@FXML
private ComboBox comboS4A, comboS4E1, comboS4E2;
那么如何在 SecondController 中查看在 FirstController 中选择了哪个 RadioButton 并使 CombBox 可见?
谢谢。
解决方案
您可以创建静态 int 变量,该变量包含选定的 RadioButton 编号
public static int selectedCombo = -1;
并将这些行放在第一个控制器的方法初始化中
radioButtonS1.setOnAction(e->{
selectedCombo = 0;
});
radioButtonS2.setOnAction(e->{
selectedCombo = 1;
});
...
在第二个控制器中,您需要进行切换:
switch(selectedCombo) {
case 0:
// make visible the comboBox 1
break;
case 1:
// make visible the comboBox 2
break;
...
}
推荐阅读
- spring - Spring 自动装配存储库中的 NullPointerException
- python - 给定一个字符串移动到所需字符的索引
- c# - uwp 增量加载不断调用 GetPagedItemAsync
- ios - 为什么在 Android Chrome 和 Firefox 上工作的 PWA 在 iOS Safari 上会变成白屏?
- git - Git“autosquash”没有挤压?
- javascript - 标签在同一页面上不能与多个标签一起使用
- c# - 函数 Save() 和 SaveAs() 太慢了
- javascript - 如何使用按钮更改 docker 容器的端口?
- salesforce - 如何使用 API 在 Salesforce 中获取报告和仪表板的图像?
- javascript - 如何在获取呼叫时禁用缓存?