国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Java程序實現Logo畫面的編程

2019-11-18 10:49:31
字體:
來源:轉載
供稿:網友

  有些程序需要初始化的時間比較長。程序只有在初始化之后才能夠給出界面,所以在程序初始化的時候,一般的軟件都會給出一個畫面,告訴用戶程序正在啟動當中。尤其是java的界面啟動一般需要耗費時間,假如沒有Logo畫面會讓用戶搞不清楚程序是否正在運行。實際上,很多商用程序,比如JBuilder都會給出一個很友好的Logo畫面。
  
  原理
  在程序開始運行的時候,Logo畫面其實是程序的一個線程,而且Logo是一個圖,所以顯示Logo畫面的窗口必須像一個“白板”一樣,也就是說,這個窗口里面只容納了這個圖片,其它的最大、最小化按鈕等都沒有。程序的界面顯示后,就結束這個Logo畫面的線程。
  
  以上的這些Logo畫面的基本要求,用Java語言實現起來都非常的方便。下面將介紹一個實現Logo畫面的類。
  
  實現
  首先,這個類必須繼續JWindow,因為JWindow能夠實現沒有邊框的窗口的效果。其次,這個類必須實現Java語言的Runnable接口,因為這個類本身是一個線程。同時這個類還需要提供傳入所顯示圖片的構造函數,還應該包含一個讓線程退出的函數。
  
  該類的代碼如下:
  
  import javax.swing.*;
  import java.lang.Runnable;
  import java.awt.*;
  public class Logo extends JWindow implements Runnable {
  String filename; //Logo圖像文件的文件名
  public Logo(String name) {
  filename = name;
  }
  public void run()
  {
  ImageIcon ig = new ImageIcon(filename);
  JButton BTn = new JButton(ig); //將圖片給JButton顯示
  getContentPane().add(btn); //將顯示圖片的btn加到JPanel里
  Toolkit kit = Toolkit.getDefaultToolkit();
  Dimension screenSize = kit.getScreenSize(); //獲得屏幕的大小
  setLocation(screenSize.width/4,
  screenSize.height/4);//將Logo窗口顯示在屏幕寬的1/4,高的1/4處
  setSize(ig.getIconWidth(), ig.getIconHeight()); //將Logo窗口大小設成圖像的大小
  toFront(); //將Logo窗口顯示為最前面的窗口
  setVisible(true); //顯示該窗口
  }
  public void setNotVisible()
  {
  setVisible(false); //不顯示該窗口
  }
  }
  
  使用
  這個類的使用方法是很方便的。對于一般的界面程序,都是在程序開始的時候初始化界面。現在假設程序的主窗體類名為mainFrame,那么在沒有加入到Logo畫面以前的程序為:
  
  public class PRogramMain {
  public static void main(String args[])
  {
  mainFrame frame1 = new mainFrame();
  }
  }
  
  現在需要加入Logo畫面,那么只需要加入幾行代碼,將原來的程序改成如下代碼:
  
  public class programMain {
  public static void main(String args[])
  {
  Logo lg =new Logo("Logo.gif");
  lg.run();
  mainFrame frame1 = new mainFrame();
  lg.setNotVisible();
  }
  }
  
  在程序的界面初始化完成后,該Logo畫面消失,程序的主界面出現。
  
  擴展
  基于上面的程序,我們還可以擴展出很多種Logo畫面的方式,比如用一個進度條來替換這個圖像,只需要顯示出進度條,然后在界面的初始化程序里面控制進度條的進度就可以了。用這個思想,Logo畫面的做法是多種多樣的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宁南县| 霍山县| 泊头市| 揭西县| 钦州市| 茌平县| 临西县| 盐津县| 承德市| 宾阳县| 尚志市| 赤壁市| 孝感市| 德钦县| 镇远县| 大邑县| 夏津县| 红原县| 淮南市| 班玛县| 永城市| 宜兰市| 汉寿县| 麻阳| 平江县| 洪洞县| 巴东县| 山丹县| 漾濞| 武宁县| 全州县| 铜山县| 土默特右旗| 云安县| 奉化市| 渭源县| 榆中县| 徐水县| 正蓝旗| 高邮市| 建瓯市|