现在学习一点摇摆,来了两个教程,使用不同的方法制作一个简单的JFrame窗口。
第一个实现了runnable,在类中有一个jframe对象变量:
class SwingDemo implements Runnable {
private JFrame frame;
@Override
public void run() {
frame = new JFrame("title");
... // setSize(), add components, etc
}
}
public class Main {
public static void main(String[] args) {
SwingUtilities.invokeLater(new SwingDemo());
}
}
第二个教程没有实现runnable,而是使用类构造函数初始化jframe,并通过匿名内部类调用构造函数。
class SwingDemoAlt {
public SwingDemoAlt() {
JFrame frame = new JFrame("title");
... // again some code here
}
}
public class Main {
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
new SwingDemoAlt();
}
}
}
}
这两种方式有何不同?一种方法更可取吗?