SiteMap

2013年5月16日木曜日

在 Swing 顯示圖片

在 Swing 顯示圖片


語法

String strPath = ""; 
ImageIcon imgIcon = new ImageIcon(strPath); 
JLabel lblShowImg = new JLabel(imgIcon); 
contentPane.add(lblShowing);

/* 可以使用
  絕對路徑(absolute path)
  相對路徑(relative path)
  超連結路徑(URL, Uniform Resource Locator, 統一資源定位器)

  比較推薦使用 URL的格式, 因各系統的路徑分隔符號通常不一樣
  Ex:
  Linux的是 /, Windows系統則是 \

  如果使用的IDE是Eclipse話, 相對路徑的位置是從 專案根目錄開始算
  prjSwingImg //專案資料夾
        ﹂—src //所編輯的 Java檔放置的資料夾
        ﹂—img.jpg // jpg放在專案資料夾根目錄下面
  以上的情況下, 有效的 strPath = "img.jpg";
  如果單純使用 javac.exe的話, 圖片跟 .java放在一起
*/

可以簡化成

contentPane.add(new JLabel(new ImageIcon("")));

舉例來說, 有張圖片的路徑為 E:\pic\common_0rz.jpg
而 編寫的 java原始碼檔案位於 E:\Workspace_Java\prjShowImg\src
則我們可以這樣寫


//絕對路徑, 使用 URL的分隔符號
contentPane.add(new JLabel(new ImageIcon("E:/pic/common_0rz.png")));
//絕對路徑, 使用 Windows的分隔符號
 
contentPane.add(new JLabel(new ImageIcon("E:\\pic\\common_0rz.png")));
//相對路徑, 使用URL的分隔符號

contentPane.add(new JLabel(new ImageIcon("../../pic/common_0rz.jpg")));
//相對路徑, 使用 Windows的分隔符號
contentPane.add(new JLabel(new ImageIcon("..\\..\\pic\\common_0rz.jpg")));

以上四種寫法都可以用,

又, 把圖片上傳到網路上的空間
所得到的路徑為 http://i.imgur.com/lg7or55.png
則可以這樣寫
String strUrl = "http://i.imgur.com/lg7or55.png";
contentPane.add(new JLabel(new ImageIcon(new URL(strUrl))));


還有方法是使用
private BufferedImage image;
          image = ImageIO.read(new File("E:/Workspace-Java/NothingGreatDB/images/i5bmo8ZE822gL.gif"));

不過這咚咚弄出來的效果似乎差一截, 我的Gif動畫不會動 0rz...

這裏 Download Source Code

0 件のコメント: