当前位置: 首页 > 知识库问答 >
问题:

如何使用线程编辑JavaFXML窗格(并行)[复制]

秦宏盛
2023-03-14

我有一个函数,可以连接到数据库,获取一些数据,并使用这些数据更改我的窗格。

我希望在后台输入查询的引用并让用户继续填写其他详细信息后运行此函数。

Java语言lang.IllegalStateException:不在FX应用程序线程上;currentThread=Thread-6

我使用了一个线程,并不断得到这个错误。

到目前为止,我发现:我发现很多人说要使用运行稍后功能。使用这个函数可以完成工作,但不能完成任务。它等待函数完成执行以让用户继续。

我怎样才能解决这个问题。

共有1个答案

卢志强
2023-03-14

我假设该函数花费的大部分时间用于数据库连接,而不是编辑窗格。

您没有关于FX应用程序线程的错误,因为您正在尝试更改另一个线程中的FXML元素,您可以使用run later函数仅用于更改窗格。

您可以在另一个线程中执行数据库操作,并为FXML元素创建一个稍后运行的函数。希望这将加快进程。

 类似资料:
  • 并发是什么?引用Rob Pike的经典描述: 并发是同一时间应对多件事情的能力 其实在我们身边就有很多并发的事情,比如一边上课,一边发短信;一边给小孩喂奶,一边看电视,只要你细心留意,就会发现许多类似的事。相应地,在软件的世界里,我们也会发现这样的事,比如一边写博客,一边听音乐;一边看网页,一边下载软件等等。显而易见这样会节约不少时间,干更多的事。然而一开始计算机系统并不能同时处理两件事,这明显满

  • 并行 理论上并行和语言并没有什么关系,所以在理论上的并行方式,都可以尝试用Rust来实现。本小节不会详细全面地介绍具体的并行理论知识,只介绍用Rust如何来实现相关的并行模式。 Rust的一大特点是,可以保证“线程安全”。而且,没有性能损失。更有意思的是,Rust编译器实际上只有Send Sync等基本抽象,而对“线程” “锁” “同步” 等基本的并行相关的概念一无所知,这些概念都是由库实现的。这

  • 本章讲解 Rust 中,并发,并行,多线程编程的相关知识。

  • 在Eclipse中,我可以键入< kbd>Ctrl M或单击编辑器窗格中的最大化图标,使编辑器窗格占据整个Eclipse窗口,然后再次将窗格恢复到原来的大小,露出其他窗格。 是否可以在IntelliJ IDEA中执行等效项? 为了澄清,我要求隐藏所有其他工具窗格以仅显示编辑器窗格。我不是在问如何进入无干扰模式,因为这是完全“全屏”的模式,隐藏所有工具栏,窗口装饰等。

  • 我正在尝试制作一个乘法表,用户输入所需的表格以及他/她想要显示多少个数字(例如,输入2表示表格,5表示数字将给出2,4,6,8,10)。 我已经尝试了以下方法,但无法给出所需的输出。 它应该打印乘法表,却在打印:< code>[I@3d494fbf。