Swing在称为的单个线程内完成GUI渲染任务
Event Dispatch Thread(EDT)
。您可能需要一段时间才能做的任何事情都会阻止EDT,并且您的swing应用程序将被冻结。您通过以下一种说法正在做这样的事情:Thread.sleep(5000);
始终建议不要使用它
NullLayout
。了解Swing开发人员通过辛勤工作为我们创建的适当的布局管理人员。让我们给他们的努力一些价值。使用函数将GUI渲染任务(包括在内
frame
)setVisible(true)
放入EDT中SwingUtilities.invokeLater
。例如:SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new MyWindow().setVisible(true); }});
您正在使用多重框架。Swing系列的 也禁止这样做 。
Card Layout
家庭可以使用许多替代方法,您可以轻松地避免不必要地使用多帧。给Andrew Thompson
定链接的答案中给出了一些示例。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)