我正在尝试用Java创建一个非常基本的游戏,但我在JFrame
上显示图像时遇到问题。它过去对我有用,现在不行,我看不出我做错了什么。
我已经尝试打印当前的工作目录并更改我的图像匹配的位置。可能是问题没有得到图像,因为我的(文件查找器或文件阅读器或类似的东西)可以毫无问题地找到它,但我无法正确地将它(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);
JFrame
已为setVisible(true)
和pack()
。
有人可以帮我理解错误。
答案 0 :(得分:11)
你的问题在于:
ImageIcon image = new ImageIcon("C:/Documents and Settings/user/Desktop/hi/xD/JavaApplication2/image.png");
JLabel imagelabel = new JLabel(character);
您创建了一个ImageIcon“图像”,但您使用“character”创建了JLabel。
应该是:
JLabel imagelabel = new JLabel(image);
答案 1 :(得分:3)
尝试,
ImageIcon image = new ImageIcon("c:\\path\\image.png");
imagelabel = new JLabel(character, image, JLabel.CENTER);
frame.add(imagelabel);
查看教程 - How to use Icons
答案 2 :(得分:-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
}
}