我可以在 swingUtilities.invokeLater 中放置超过 1 个线程吗?
Can I put more then 1 thread in swingUtilities.invokeLater?
我不知道如何准确使用SwingUtilities.invokeLater
,但在我的应用程序中,面板运行在不同的Runnables中,swingUtilities.invokeLater
在参数中接受Runnables,但是如果我在swingUtilities.invokeLater的线程里面放了一个线程,它会在"SwingUtilities thread-safe AWT/Swing concept"里面工作吗?我可以放多于 1 个线程吗?因为我在 1 个 JFrame 中有 panels/threads 到 运行。
在 Swing 中,只有 1 个线程(事件调度线程)可以更新用户界面(完整应用程序的所有 Swing UI 组件)。使用传递给 invokeLater(或 invokeAndWait)方法的可运行对象对用户界面进行所有更新。
不要在这个 runnable 中执行计算/其他任务,因为那会 slowdown/block 您的用户界面。
您可以传递给 SwingUtilities 方法的可运行对象没有最大数量限制。全部由事件派发线程执行。
我不知道如何准确使用SwingUtilities.invokeLater
,但在我的应用程序中,面板运行在不同的Runnables中,swingUtilities.invokeLater
在参数中接受Runnables,但是如果我在swingUtilities.invokeLater的线程里面放了一个线程,它会在"SwingUtilities thread-safe AWT/Swing concept"里面工作吗?我可以放多于 1 个线程吗?因为我在 1 个 JFrame 中有 panels/threads 到 运行。
在 Swing 中,只有 1 个线程(事件调度线程)可以更新用户界面(完整应用程序的所有 Swing UI 组件)。使用传递给 invokeLater(或 invokeAndWait)方法的可运行对象对用户界面进行所有更新。
不要在这个 runnable 中执行计算/其他任务,因为那会 slowdown/block 您的用户界面。
您可以传递给 SwingUtilities 方法的可运行对象没有最大数量限制。全部由事件派发线程执行。