Java 有没有办法知道JPanel是否已完成加载';什么内容?
我正在编写一个应用程序,在运行时将卡片(JPanel)添加到CardLayout。问题是,卡上的某些组件加载速度比其他组件快,使其出现故障,并且在显示之前未正确渲染 我希望它在第一次展示时就准备好 我已经通过一个加载屏幕暂时解决了这个问题,它使线程休眠1500毫秒。有没有更简单的方法来知道面板上的所有内容是否都已加载Java 有没有办法知道JPanel是否已完成加载';什么内容?,java,swing,jpanel,cardlayout,Java,Swing,Jpanel,Cardlayout,我正在编写一个应用程序,在运行时将卡片(JPanel)添加到CardLayout。问题是,卡上的某些组件加载速度比其他组件快,使其出现故障,并且在显示之前未正确渲染 我希望它在第一次展示时就准备好 我已经通过一个加载屏幕暂时解决了这个问题,它使线程休眠1500毫秒。有没有更简单的方法来知道面板上的所有内容是否都已加载 private void showLoadingScreen() { final Component glassPane = getGlassPane(); set
private void showLoadingScreen() {
final Component glassPane = getGlassPane();
setGlassPane(loadingPanel);
loadingPanel.setVisible(true);
Thread thread = new Thread() {
public void run() {
try {;
Thread.sleep(1500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
setGlassPane(glassPane);
}
};
thread.start();
}
在使用SwingWorker创建的后台线程中执行所有文件加载和数据操作。然后在执行SwingWorker之前,添加PropertyChangeListener。当PropertyChangeEvents newValue为
SwingWorker.StateValue.DONE
时,您就知道所有后台工作都完成了,可以显示GUI
请看一下教程,例如,请看一个类似的问题