我的问题很简单。
假设我正在执行算法“A star”(使用启发式函数计算下一个要访问的状态的搜索算法)。
我想在网格中显示更新(我将其应用于 8 拼图问题)。我该怎么做?我希望更改清晰可见..但根据我的经验,如果我只是执行类似 Grid[6].showValue(newValue)
的操作,GUI 将只是“待命”。
我确信这可以通过多线程来完成(也许吧?)但是有没有更简单的方法?
如果可能,还有一个非常简单的问题: 我想知道在 Java 中(我的 IDE 是 Netbeans)是否有包含 BFS、DFS 和 A star 等搜索方法的类?如果是这样,您能否提供算法代码的链接(我需要将它们用作我的代码的基础......我不能直接包含它们......你知道......大学作业)。我想这段代码很容易找到,因为 Java 是一种开源语言。我错了吗?
非常感谢
最佳答案
不要在 GUI 线程中进行处理。
如果我们谈论 swing在这里,这是事件调度线程;按照 Concurrency in Swing tutorial 中的说明使用工作线程.
关于java - 搜索算法(DFS、BFS、A 星等)。如何在没有 "freezing"的情况下更新 GUI(更新状态)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9877741/