如何在其他Thread运行时更改UI组件颜色?

时间:2015-06-14 23:19:17

标签: java multithreading swing

我有一些游戏需要构建(是的,这是大学的一项任务),我需要查看一些表示具有两种状态(boolean [] [])的棋盘的矩阵。该板可以看作是使用两种颜色的JLabel构建的GUI。

这个想法是有一些后台进程让每个单元格通过某些规则对矩阵进行一些更新。通过这些规则,我需要在UI端更改矩阵单元格值。

目前我为进程创建了一个单独的Thread,它遍历矩阵并检查我得到的规则,以及另一个负责在UI中进行更改的Thread。

由此,第一个Thread运行良好,而第二个什么也没做。

所以我的问题是,当一些其他进程在后台工作时,更改Swing UI的最佳方法是什么?

到目前为止,我所做的是:

this.golThread = new Thread(golr);
golr.setRunningMode(true);
golThread.start();

this.uiThread = new Thread(ui);
ui.setRunningMode(true);
uiThread.start();       

我也尝试使用:SwingUtilities.invokeLater(uiThread);

0 个答案:

没有答案