線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1558
推到 Plurk!
推到 Facebook!

application的啟動快閃畫面

 
neoart
版主


發表:22
回覆:582
積分:425
註冊:2003-05-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-09-06 18:01:58 IP:61.64.xxx.xxx 未訂閱
快閃/啟動畫面對於swing類型的java專案非常重要 特別是在application啟動時,會有一段資源分配的時間, 如果在這時候,沒有快閃介面告知使用者"該ap已啟動,請稍候..." 會讓使用者有所質疑,而再啟動該ap一次,而是另一個長久的等待了. 而且有了美美的啟動畫面,對於你的產品的形象有正面的幫助 以下就是快閃介面的製造過程. 1.材料方面:請備妥動畫gif檔,建議是橫條式,面積愈小,愈方正愈好,請參考windows啟動介面的那個色彩循環動畫---好吧.我承認我就是抄他的idea的. 相對的,也請準備一個靜態的畫面,這兩者,上下疊之.(快去ㄠ你們家的美術美眉吧)    2.放置圖像檔的java windows類別(無框視窗)--"SplashScreen"
import java.awt.*;
import javax.swing.*;
public class SplashScreen extends Window {
  JLabel jLabel1 = new JLabel();
  JLabel jLabelDWN = new JLabel();
  public SplashScreen() {
    super(new Frame());
    try {
      jbInit();
    }
    catch (Exception e) {
      e.printStackTrace();
    }
  }      private void jbInit() throws Exception{
    this.setSize(new Dimension(400, 200));
    this.setVisible(false);
    //this.setVisible(true);
    jLabel1.setDoubleBuffered(true);
    //此例是假設我的色彩循環動畫只有400x10的大小罷了
    jLabel1.setPreferredSize(new Dimension(400,190));
    jLabelDWN.setDoubleBuffered(true);
    jLabelDWN.setPreferredSize(new Dimension(400,10));
    jLabelDWN.setOpaque(true);
    jLabel1.setIcon(new ImageIcon(exgui.UIHelper.getFolderURL(你的上半部畫面圖像檔)));
    jLabelDWN.setIcon(new ImageIcon(exgui.UIHelper.getFolderURL(你的下半部畫面圖像檔)));
    this.add(jLabel1, BorderLayout.CENTER);
    this.add(jLabelDWN, BorderLayout.SOUTH);
  }
}
3.重點來了,啟動點--main的所在
import java.awt.*;
import javax.swing.JFrame;
class Starter{
   static  SplashScreen splasher= new SplashScreen();
   JFrame frame
   Starter(){
       frame=new JFrame();
       ....
       ...
       ...
       ...
      frame.setVisible(true);
      splasher.hide();//application已完成顯示程序,快閃視窗功成身退.
   }
  public static void main(String[] args) {
      Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
      splasher.setLocation(
      (screenSize.width - 400) / 2,
      (screenSize.height - 200) / 2);//假設快閃畫面的大小是400x200,欲置於螢幕中央
      splasher.setSize(new Dimension(400,200));
      splasher.setSize(400,200);
      splasher.show();//快閃畫面顯示
      ...
      ...其他資源分配,如jdbc,或是其他吃重的資源RMI/EJB,或是其他暫存性資料的準備
      ...
      Starter myStart=new Starter();//application顯示      
  } 
}
小小的類別,大大的幫助,快去試試吧.
系統時間:2024-05-08 21:29:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!