2012-06-28 16 views
8

私はJavaで非常に基本的なゲームを作ろうとしており、JFrameに画像を表示するのに問題があります。それは私のために過去に働いていた、今ではない、私は何が間違っていたか見ることができません。Java ImageIconをJLabelに追加

私は、現在の作業ディレクトリを印刷して、画像を取得する場所を変更しようとしました。私(ファイルファインダーやファイルリーダーなど)が問題なく見つけることができるので、問題が画像を取得していない可能性がありますが、JLabelまたはJFrameに正しく追加できません(ImageIcon)。

これはJFramesetVisible(true)pack()されている

JFrame frame = new JFrame("no image"); 
ImageIcon image = new ImageIcon("C:/Documents and Settings/user/Desktop/hi/xD/JavaApplication2/image.png"); 
JLabel imagelabel = new JLabel(image); 
frame.add(imagelabel); 

...私のコードです。

誰かが間違っていることを理解してもらえますか?あなたはImageIconの「イメージ」を作成

ImageIcon image = new ImageIcon("C:/Documents and Settings/user/Desktop/hi/xD/JavaApplication2/image.png"); 
    JLabel imagelabel = new JLabel(character); 

いますが、「文字」であなたのJLabelを作成します。

+0

は、この例を見てください、[画像を追加する方法あなたのプロジェクト](http://stackoverflow.com/questions/9864267/load-icon-image-exception/9866659#9866659)またはこれらの[手順](http:// ga gandeepbali.uk.to/gaganisonline/webpages/makejareclipse.html) –

+0

私はそれらの例を見て、彼らが助けなかった – user1486826

+0

あなたのイメージをあなたの.classファイルの隣に置き、ImageIcon image = new ImageIcon(getClass ).getResource( "yourImage.extension"));.そのリンクは、あなたのプロジェクトにイメージを置くのが正しい方法なので、うまくいきます。あなたはそれで言及されたすべてのステップを歩いていたことを願っています! –

答えて

12

あなたの問題はここにあります。

それは次のようになります。

JLabel imagelabel = new JLabel(image); 
+0

申し訳ありませんが、私の実際のコードでは同じですが、私は文字を画像に置き換えるのを忘れていました。 – user1486826

3

は試してみてください、

ImageIcon image = new ImageIcon("c:\\path\\image.png"); 
imagelabel = new JLabel(character, image, JLabel.CENTER); 
frame.add(imagelabel); 

は、チュートリアルを見てみましょう - How to use Icons

+0

私はチュートリアルを何回も見てきましたが、私は何が間違っているのか分かりません。 – user1486826

-1
import javax.awt.*; 
import java.awt.*; 
import java.awt.event*; 

//class name image 
class image { 
    image() 
    //constructor { 
     Frame f=new Frame("Image"); 
     //Frame 
     f.setSize(500,500); 
     f.setVisible(true); 
     Panel p =new Panel(); 
     //Panel 
     f.add(p); 
     p.addLayout(null); 
     ImageIcon ii=new ImageIcon("set your image path"); 
     //ImageIcon is used to image Display . 
     Label l =new Label(ii); 
     p.add(ii); 
     p.setBounds(set you bounds); 
     //Like that(20,20,500,40); 
    } 

    public static void main(String [] args) { 
     image obj = new 
    } 
} 
+2

あなたのコードについての説明とOPがあなたのコードを必要とする理由についていくつかの説明を加えてください。 –

関連する問題