我有一个简单的 Main 类,它使用 swing 来显示 Hello World 标签,但我对这段代码有些怀疑,因为这是我第一次用 Java 创建 GUI:
import javax.swing.JLabel;
import org.jdesktop.application.SingleFrameApplication;
public class Main extends SingleFrameApplication {
@Override
protected void startup() {
// TODO Auto-generated method stub
show(new JLabel("Hello World"));
}
public static void main(String[] args) {
Main a = new Main();
a.startup();
}
}
我的疑问是:
据我了解,JLabel()方法是一个纯Swing方法,它只是创建一个显示 Hello World 消息的文本标签。这段代码还使用了startup() 方法,据我了解,它是属于所谓的Swing 应用程序框架的 **SingleFrameApplication 类的方法......但是......这个Swing 应用程序框架到底是什么?它是独立于 Swing 的项目吗?给我什么?
当我将应用程序作为经典 Java 应用程序运行时,会显示 Hello World 消息,但也会在 Eclipse 控制台中向我显示以下错误消息:
设置 23, 2013 12:35:37 PM org.jdesktop.application.ResourceManager getApplicationResourceMap Avvertenza: getApplicationResourceMap(): 没有应用程序类设置 23, 2013 12:35:38 PM org.jdesktop.application.SingleFrameApplication initRootPaneContainer Avvertenza: 不能在 org.jdesktop.application.LocalStorage.getDirectory(LocalStorage.java:274) 在 org.jdesktop.application.LocalStorage.getApplicationId(LocalStorage.java:254) 恢复会话 [mainFrame.session.xml] java.lang.NullPointerException .jdesktop.application.LocalStorage$LocalFileIO.getFile(LocalStorage.java:450) 在 org.jdesktop.application.LocalStorage$LocalFileIO.openInputFile(LocalStorage.java:417) 在 org.jdesktop.application.LocalStorage.openInputFile(LocalStorage.java :68) 在 org.jdesktop.application.LocalStorage.load(LocalStorage.java:188) at org.jdesktop.application.SessionStorage.restore(SessionStorage.java:381) at org.jdesktop.application.SingleFrameApplication.initRootPaneContainer(SingleFrameApplication.java:210) at org.jdesktop.application.SingleFrameApplication.show(SingleFrameApplication .java:268) 在 Main.startup(Main.java:11) 在 Main.main(Main.java:19)
为什么?它究竟是什么意思?
肿瘤坏死因子
安德烈亚