gpt4 book ai didi

java - SwingUtilities.invokeLater()

转载 作者:行者123 更新时间:2023-11-30 06:37:41 24 4
gpt4 key购买 nike

我怎么感觉SwingUtilities.invokeLater()在任何swing应用中的必要性。请给出一些代码示例。

最佳答案

每当您需要更新 GUI 中的某些内容时,您应该通过 AWT 事件线程 来完成。

这是因为 AWT(以及顶部的 Swing)有自己的线程来管理 GUI 的所有内容。没有它,图形界面就无法在您的程序执行其他操作时以异步方式处理事件和类似事情。

例如,如果您在 Thread 中声明了一个长任务:

public void MyThread extends Thread
{
class GUIUpdate implements Runnable
{
GUIUpdate(String msg)
{
...
}

public void run()
{
guiElement.appendText(msg);
}
}

public void run()
{
while (finished)
{
//do long calculations

//send partial output to gui
SwingUtilities.invokeLater(new GUIUpdate("something has changed!"));
}
}
}

关于java - SwingUtilities.invokeLater(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3162631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com