我一直在尝试为游戏编写服务器程序,我遇到的一个问题是从另一个类/线程写入我的“日志”(这只是 JTextArea 的标题)。基本上,设置是这样的:
主窗口:
-JTextArea 与日志。
线程从 MainWindow 启动。他们可能需要输出一些东西,基本上我所追求的不是打印这些线程需要输出的任何东西,System.out我可以将它们打印到我的日志中,在我的 MainWindow(这是一个 JFrame)中。有没有办法从线程访问 MainWindow?我真的不知道该怎么解释这一点。
谢谢
SwingUtilities.invokeLater()是为此目的而制作的。
final String labelText = "current label text";
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
// Write your GUI updater code here
// like this
labelOnTheGui.setText(labelText);
}
});
这是您可以操纵从不同线程启动操作的 GUI 的唯一方法。