2013-07-29 54 views
1

我使用Dr. Java作爲Java的編譯器。我試圖在代碼中包含一個圖像。我正在構建我的第一個GUI程序。在Java代碼中包含圖像

這是我使用的代碼:

import java.awt.*; 
import javax.swing.*; 

public class Test{ 
public static void main(String[] args){ 

JFrame frame = new JFrame("Test Program"); 
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 

JPanel primary = new JPanel(); 
primary.setBackground(color.green); 
primary.setPreferredSize(new Dimension(100,100)); 

JLabel label = new JLabel("Tesing the program"); 

primary.add(label); 
frame.getContentPane().add(primary); 
frame.pack(); 
frame.setVisible(true); 
} 
} 

比方說有一個文件在我的桌面上名爲Image.gif的,我想包括在我的代碼這一形象。

  1. 我可以將圖像存儲爲變量以在我的代碼中使用它們嗎?
  2. 圖像通常存儲在java程序中,我該如何引用它?
  3. 圖像是一種形式的對象嗎?
  4. 在Java程序中寫入的程序中包含的圖像的代碼是什麼?

回答

3
Can I store images as variables to use them in my code? 

是的,你可以。通過使用這個命令:(而不是C:\ Image.gif的,你必須編寫你的圖像位置)ImageIcon image = new ImageIcon("C:\image.gif");

哪裏圖像通常保存在一個Java程序,我怎麼能 參考呢?

imageicon幫助你展現你的形象,並把它放在你想要的。

是一個圖像的一種形式的對象?

java中的所有東西都是一個對象,除了基本類型。

什麼是包含我在程序中的圖像的代碼我寫在Java博士上?

首先,您必須將圖像放置在您想要指向的位置。然後按照我的說法定義它。並根據參考使用你想要的方式。

+0

*除了一個字符,一個int,浮子和雙數核心的Java API *你的意思*除了基本類型*。另外,如果不是使用文件的直接URL來顯示如何使用'getResourceAsStream'從應用程序的本地資源加載文件,那麼對第一個問題的回答會更好。除此之外,很好的答案。 –

+0

感謝您的評論。我會修好它。 – Paniz

+1

您可以開始關於使用'getResourceAsStream' [here](http://stackoverflow.com/q/2308188/1065197) –

3

我建立了我的第一個GUI程序。

首先閱讀Swing tutorial關於Creating a GUI With Swing的所有基本知識和大量的工作示例。

我想將此圖片加入到我的代碼中。

您可以從How to Use Icons部分開始。

1
Can I store images as variables to use them in my code? 

是的,圖像通常存儲爲變量。

Where is the image usually stored in a java program and how can I refer to it? 

圖片,基本上都稱爲應用程序資源,是用來從對GUI

顯示的文本提供了一些資料,除了你可以看看working with Images和這個簡單example

在部署應用程序時,應用程序中使用的Images通常會與應用程序的其餘部分一起嵌入到JAR文件中。這個答案,可能會給你更多的信息,至於如何去add a resource to the project

1

或者你可以序列化java.awt.image.BufferedImage中下一個類的名字,並將其與一個資源文件夾二進制文件存儲,但爲什麼不乾脆正確建構應用程序文件夾

java.awt.Toolkit中從擺動或AWT容器獲得用於獲取圖像的 java.awt.Graphics對象用於油漆圖象到容器上,並且還通過一種方法得到的上您希望繪製的gui容器。

另一個更復雜的成像文件操作系統是在被稱爲javax.imageio中