谁能告诉我这两个代码之间的实际区别是什么,因为它们都产生相同的结果?
代码1:
public class JLabelDemo extends JApplet {
public void init() {
this.setSize(400, 400);
ImageIcon ii = new ImageIcon("Flock_icon.png");
JLabel jl = new JLabel("<<--- Flock_icon", ii, JLabel.CENTER);
add(jl);
}
}
代码2:
public class JLabelDemo extends JApplet {
private static final long serialVersionUID = 1L;
public void init() {
this.setSize(400, 400);
try {
SwingUtilities.invokeAndWait(new Runnable() {
public void run() {
makeGUI();
}
});
} catch (InvocationTargetException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
private void makeGUI() {
ImageIcon ii = new ImageIcon("Flock_icon.png");
JLabel jl = new JLabel("<<--- Flock_icon", ii, JLabel.CENTER);
add(jl);
}
}
我真的没有发现生成的输出之间有任何区别。但我无法理解代码。
那么任何人都可以给我invokeAndWait方法的真实示例吗?