java - 如何查看是否在 GridPane 中选择了特定的 CheckBox?
问题描述
我创建了一个 10x10 GridPane 的复选框。我需要查看是否选择了特定的 CheckBox,但 GridPane 由节点组成。因此,如果我使用来自另一个线程的函数访问特定节点,我不能使用isSelected因为它是错误的类型。
我尝试修改函数 getNodeByRowColumnIndex 或强制类型为 CheckBox 但我不确定如何。
@FXML
private GridPane Grid;
@FXML
public void initialize() {
for (int x = 0; x < 10; x++) {
for (int y = 0; y < 10; y++) {
this.Grid.add(new CheckBox(), x, y);
//Problem here
boolean bln = getNodeByRowColumnIndex(y,x,this.Grid).isSelected();
}
}
}
解决方案
getNodeByRowColumnIndex
返回一个Node
。您需要将其转换为CheckBox
:
Node node = getNodeByRowColumnIndex(y,x,this.Grid);
if(node instanceof CheckBox){
boolean bln = ((CheckBox)node).isSelected();
//todo use bln
}
旁注1:尚不清楚为什么要检查刚刚添加isSelected
的a 。
旁注 2:根据java 命名约定,使用.CheckBox
GridPane grid
推荐阅读
- python - 探索性 - TensorFlow 事件计数预测
- sql - 您可以像使用 SELECT 一样在 SQL 中更新连接表吗?
- flutter - 无法确定任务 ':app:compileFlutterBuildDebug' 的依赖关系
- flutter - I/flutter(805):PlatformException(no_fragment_activity,local_auth 插件要求活动为 FragmentActivity。,null,null)
- linux - 如何从 linux 机器上的 sbt pack/bin 文件夹执行 scala 项目
- azure-active-directory - WEBSITE_AUTH_CLIENT_SECRET 必须设置
- python - ThreadPoolExecutor 与在 python 中没有它时所用的时间相同
- android - 相机无法在 WebRTC Android 中捕获媒体流
- python - 插入多个值时出现 Sqlite 错误
- jupyter - 如何显示jupyterlab启动输出