java - 搜索算法(DFS、BFS、A 星等)。如何在没有 "freezing"的情况下更新 GUI(更新状态)?

标签 java search sliding-tile-puzzle

我的问题很简单。

假设我正在执行算法“A star”(使用启发式函数计算下一个要访问的状态的搜索算法)。

我想在网格中显示更新(我将其应用于 8 拼图问题)。我该怎么做?我希望更改清晰可见..但根据我的经验,如果我只是执行类似 Grid[6].showValue(newValue) 的操作,GUI 将只是“待命”。

我确信这可以通过多线程来完成(也许吧?)但是有没有更简单的方法?

如果可能,还有一个非常简单的问题: 我想知道在 Java 中(我的 IDE 是 Netbeans)是否有包含 BFS、DFS 和 A star 等搜索方法的类?如果是这样,您能否提供算法代码的链接(我需要将它们用作我的代码的基础......我不能直接包含它们......你知道......大学作业)。我想这段代码很容易找到,因为 Java 是一种开源语言。我错了吗?

非常感谢

最佳答案

不要在 GUI 线程中进行处理。

如果我们谈论 在这里,这是事件调度线程;按照 Concurrency in Swing tutorial 中的说明使用工作线程.

关于java - 搜索算法(DFS、BFS、A 星等)。如何在没有 "freezing"的情况下更新 GUI(更新状态)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9877741/

相关文章:

java - 如何避免 Xstream 生成带有 &amp 或 &quote 或类似字符的 xml 文件?

mysql - 使用 MySQL 匹配和联合进行 ZEND 搜索

java - 8 使用 A* 解决难题 : a child node repeating its ancestor's state

c++ - 从 STL 优先队列中搜索/删除?

java - 如何在eclipse中打印当前正在执行的方法名称?

java - Android中的视频处理

sorting - ElasticSearch 5.x在文本字段问题上排序

java - 在java中只调用一次相同的方法

algorithm - 解决8个难题的有效方法是什么?

java - 如何在 Kotlin 中从 KClass 获取方法