替换 JavaFX GridPane 中 (row,col) 处的节点

2023-11-27

我正在制作一个基于错误“感知”和吃食物的网格式游戏/模拟。我正在使用 gridPane (称为worldGrid)标签来显示虫子和食物的网格。当错误将细胞移向食物等时,这显然会不断更新。

我目前有一个功能updateGrid(int col, int row, String cellContent)我想将 [row,col] 处的标签替换为在 cellContent 中包含新文本的标签。

我有以下有效的方法

worldGrid.add(new Label(cellContent), row,col);

然而我担心这只是在当前标签之上添加一个标签,显然超过 100 次的模拟迭代并不理想。

在添加标签之前我已经尝试过:

worldGrid.getChildren().remove(row,col);

不过我然后得到了IllegalArgumentException当尝试做add line.

关于如何做到这一点有什么想法吗?或者更好的是,关于如何最好地显示不断变化的网格(最终将使用精灵而不是文本)有什么想法吗?


grid.add(node, col, row) 提供的 col/row (注意首先是 col!)只是一个布局约束。这不提供任何像二维数组中的槽那样访问列或行的方法。因此,要替换节点,您必须知道其对象本身,例如将它们记在一个单独的数组中。

然后您可以调用 getChildren().remove(object)...例如:

GridPane grid = new GridPane();

Label first = new Label("first");
Label second = new Label("second");

grid.add(first,  1,  1);
grid.add(second,  2,  2);
second.setOnMouseClicked(e -> {
    grid.getChildren().remove(second);
    grid.add(new Label("last"), 2, 2);
});
box.getChildren().addAll(grid);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

替换 JavaFX GridPane 中 (row,col) 处的节点 的相关文章

随机推荐

  • 实施键盘快捷键

    我目前使用的是onKeyDown事件和一个if else创建键盘快捷键的语句 if Keyboard Modifiers ModifierKeys Shift ModifierKeys Shift e Key Key Tab else if
  • MUI v5 + Storybook:主题和字体系列在 Storybook 中不起作用

    我遇到一个问题 MUI 主题在 Codesandbox 中有效 但在 Storybook 中无效 演示展示它在没有故事书的情况下工作 https codesandbox io s typescript material ui textfie
  • 使用 devtools::install_github() 安装无法检测构建工具

    这是我第一次尝试下载 Github 包 在 MacOS Big Sur v11 2 1 上使用 RStudio v1 2 5033 时遇到了一些问题 最初 运行时 library devtools devtools install gith
  • 在Python中将分钟转换为HH:MM格式[重复]

    这个问题在这里已经有答案了 首先 我想指出我是Python的初学者 我的问题是我不知道在 Python 中将分钟转换为 HH MM 格式的正确方法是什么 任何帮助表示赞赏 Use the divmod 功能 02d 02d format d
  • 如何从授权的 access_token 创建 GoogleCredential?

    我有一个像这样的 OAuth2 令牌 access token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx expires in 3600 refresh token xxxxxxxxxxxxxxx
  • 客户端已断开连接

    我在 WebAPI 日志中收到以下错误 System Web HttpException 0x800703E3 客户端已断开连接 在 System Web Hosting IIS7WorkerRequest EndRead IAsyncRe
  • 如何使用 winapi 了解 Windows 文件系统中的文件何时以及哪些文件被更改

    我为教育目的制作了具有间谍软件功能的程序 我需要在程序中知道文件系统何时更改文件以及正在更改哪些文件 我怎样才能在 C 中做到这一点 在 Windows 上 查看SHChangeNotifyRegister 它不仅告诉您发生了何种类型的更改
  • 如何连接Heroku Redis TLS节点?

    我似乎无法在 Node 上使用 TLS 连接到 Heroku Redis 这些文档并没有多大帮助 https devcenter heroku com articles secure heroku redis 有人有一个有效的例子吗 我应该
  • Markdown 将 JavaScript 中的双星号转换为粗体文本

    我正在尝试制作自己的可降价文本区域 就像 Stackoverflow 所做的那样 目标是让人们能够打字 blah blah 在文本区域中 并在 div 中输出 span style font weight bold blah blah sp
  • PHP:对象分配给静态属性,这是非法的吗?

    将某个对象分配给静态属性是非法的吗 我在下面的代码中收到 HTTP 500 错误 require once class linkedlist php class SinglyLinkedlistTester public static ll
  • 创建自定义 TSetProperty 属性编辑器

    我正在尝试为某些自定义组件创建自定义属性编辑器 自定义属性编辑器旨在编辑一些设置属性 例如 type TButtonOption boOption1 boOption2 boOption3 TButtonOptions set of TBu
  • 在 VB.NET 字符数组中添加“c”有什么作用?

    我想使用 String 方法 IndexOfAny 来检查指定字符串中是否存在字符 我在网上找到的使用 IndexOfAny 方法的示例在使用 VB NET 时在字符数组中的每个字符后面包含一个 c 然而 当我查看 VB NET 中简单字符
  • 无锁同步

    我的问题与多线程无锁同步有关 我想知道以下内容 实现这一目标的一般方法是什么 我在某处读到过有关 LockFreePrimitives 的内容 如 CompareAndExchange CAS 或 DoubleCompareAndExcha
  • 相关模型的每个实例的活动管理范围

    我对动态活动管理范围有疑问 我试图为我的应用程序中 项目 的每个 经理 创建一个范围 但是 当创建新的经理 或分配给项目 时 范围似乎不会更新 但如果我重新启动服务器 它们会更新 所以代码本身 有效 但显然不是按照我希望的方式 我是一个 r
  • Cert-Manager 证书续订流程 - 如何执行?

    我在用cert manager v0 10 0从其安装舵图 我在用kong就像入口控制器来管理入口操作 所以我创建了一个ClusterIssuer资源 以便可以通过 kong ingress 控制器从 Ingress 资源联系它 The C
  • C 语言中 ~0 的值是多少?

    我想得到的值INT MIN and INT MAX 我试过了 0 and 0 gt gt 1因为最左边的位是符号位但我得到了 1对于他们俩来说 很困惑为什么 0事实并非如此0xffffffff and 0 gt gt 1 to be 0x7
  • Yolo 没有开始训练

    我正在尝试在自定义数据集上训练 Yolo 一切似乎都正常运行 没有错误 但它只是没有训练 我按照教程进行操作https github com AlexeyAB darknet两次但我得到相同的结果 darknet detector trai
  • 资源解释为文档,但使用 MIME 类型 image/jpeg 进行传输

    我正在使用 Filepicker io 处理网站上的图像上传 我还使用 FancyBox 来显示一个漂亮的滑块 如果我使用常规图像 则一切正常 http i imgur com asdf jpeg as the img src 这意味着我单
  • 在 Unity 中验证 SSL\TLS 证书

    我在统一证书验证方面遇到问题 我使用 Net 类 HttpWebResponse 发出请求并向 ServicePointManager ServerCertificateValidationCallback 提供回调函数 该证书由权威机构签
  • 替换 JavaFX GridPane 中 (row,col) 处的节点

    我正在制作一个基于错误 感知 和吃食物的网格式游戏 模拟 我正在使用 gridPane 称为worldGrid 标签来显示虫子和食物的网格 当错误将细胞移向食物等时 这显然会不断更新 我目前有一个功能updateGrid int col i