Java добавление ImageIcon в JLabel

Я пытаюсь сделать очень простой игры с Java и у меня возникли проблемы с отображением изображения на JFrame. Это работало в прошлом для меня, и теперь нет, я не вижу, что я сделал неправильно.

Я попытался распечатать текущий рабочий каталог и изменить, где я получаю свое изображение, чтобы соответствовать этому. Вероятно, проблема не в получении изображения, так как мой (filefinder или filereader или что-то в этом роде) может найти его без проблем, но я не могу правильно добавить его ( ImageIcon) к JLabel, или что JFrame.

это мой код...

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);

The JFrame была setVisible(true) и pack().

может кто-нибудь, пожалуйста, помогите мне понять, что не так.

3 ответов


ваша проблема кроется здесь:

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

вы создаете изображение "image", но создаете свою JLabel с "character".

должно быть:

JLabel imagelabel = new JLabel(image);

попробуйте

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

взгляните на учебник -как использовать иконки


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 
    } 
}