我有這個簡單的Main類,它使用swing來顯示Hello World標籤,但是我對此代碼有一些疑問,因爲這是我第一次在Java中創建GUI:關於Java SWING和Swing應用框架的一些疑問
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()方法是一個純粹的搖擺方法只需創建一個文本標籤顯示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秒 org.jdesktop.application.SingleFrameApplication initRootPaneContainer Avvertenza:無法恢復會話[mainFrame.sessio n.xml] 顯示java.lang.NullPointerException在 org.jdesktop.application.LocalStorage.getApplicationId(LocalStorage.java:254) 在 org.jdesktop.application.LocalStorage.getDirectory(LocalStorage.java:274) 在 org.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) at org.jdesktop.application.LocalStorage.load(LocalStorage.java:188) at org.jdesktop.application.SessionStorage.restore(SessionStor age.java:381) 在 org.jdesktop.application.SingleFrameApplication.initRootPaneContainer(SingleFrameApplication.java:210) 在 org.jdesktop.application.SingleFrameApplication.show(SingleFrameApplication.java:268) 在Main.startup( Main.java:11)Main.main(Main.java:19)
爲什麼?究竟是什麼意思?
TNX
安德烈
你會需要擴展JFrame的東西,在那裏你可以放置JLabel – mKorbel