應用程式啟動時顯示啟動畫面,初始化完成(UI 元件、資料庫連線等)後自動關閉,進入主介面。類似 JBuilder 啟動體驗。
java.awt.Window,成員變數 windowSplash。prepareSplash():
private void prepareSplash() {
Toolkit toolkit = Toolkit.getDefaultToolkit();
windowSplash = new Window(this);
Image image = toolkit.getImage("images" + File.separator + "splash.gif");
ImageCanvas canvas = new ImageCanvas(image);
windowSplash.add(canvas, "Center");
Dimension scmSize = toolkit.getScreenSize();
int imgWidth = image.getWidth(this);
int imgHeight = image.getHeight(this);
windowSplash.setLocation(scmSize.width/2 - imgWidth/2, scmSize.height/2 - imgHeight/2);
windowSplash.setSize(imgWidth, imgHeight);
}
startSplash():在主視窗建構子中呼叫,隨即開始初始化工作。
private void startSplash() {
windowSplash.setVisible(true);
windowSplash.toFront();
}
stopSplash():所有初始化完成後呼叫。
private void stopSplash() {
windowSplash.dispose();
}
關鍵點:Window 無邊框、無標題列,適合作為 Splash Screen;ImageCanvas 為自訂類別負責繪製圖片(需自行實作 paint 方法)。