我无法显示文件中的图像(paintComponent)
I can't display image from file (paintComponent)
我在显示来自文件的图像时遇到问题:
public class Drawing extends JPanel
{
public void paintComponent(Graphics g)
{
//g.setColor(Color.ORANGE);
//g.fillRect(20, 50, 100, 100);
Image picture = new ImageIcon("test.jpg").getImage();
g.drawImage(picture, 3, 4, this);
}
public static void main(String[] args)
{
Drawing gui1 = new Drawing();
JFrame frame = new JFrame();
frame.setSize(300, 300);
frame.setVisible(true);
frame.add(gui1);
frame.repaint();
}
}
应该很简单。我在 class Drawing
的文件夹中有文件 test。
我不知道我做错了什么。
paintComponent
有效,我知道这是因为我从这段代码中显示了一个正方形。
我正在使用书 Head First Java。
而不是使用相对路径:"test.png"
尝试绝对路径"c:/path/to/test.png"
尝试把图片路径改成这样
File file =new File("path");
Image picture =new ImageIcon(file);
你也可以使用 .getabslotePath
因为在你的情况下,图像位置应该在同一个文件夹中
管理图片的最佳方式是在您的项目中创建一个文件夹:"src/resources",然后将您的图片复制到那里,然后您可以使用此代码加载图片:
InputStream stream = getClass().getClassLoader().getResource("myImage.png");
ImageIcon icon= new ImageIcon(ImageIO.read(stream));
这应该适用于您的 IDE 并且当应用程序以 jar 文件分发时也适用 ;)
我在显示来自文件的图像时遇到问题:
public class Drawing extends JPanel
{
public void paintComponent(Graphics g)
{
//g.setColor(Color.ORANGE);
//g.fillRect(20, 50, 100, 100);
Image picture = new ImageIcon("test.jpg").getImage();
g.drawImage(picture, 3, 4, this);
}
public static void main(String[] args)
{
Drawing gui1 = new Drawing();
JFrame frame = new JFrame();
frame.setSize(300, 300);
frame.setVisible(true);
frame.add(gui1);
frame.repaint();
}
}
应该很简单。我在 class Drawing
的文件夹中有文件 test。
我不知道我做错了什么。
paintComponent
有效,我知道这是因为我从这段代码中显示了一个正方形。
我正在使用书 Head First Java。
而不是使用相对路径:"test.png"
尝试绝对路径"c:/path/to/test.png"
尝试把图片路径改成这样
File file =new File("path");
Image picture =new ImageIcon(file);
你也可以使用 .getabslotePath 因为在你的情况下,图像位置应该在同一个文件夹中
管理图片的最佳方式是在您的项目中创建一个文件夹:"src/resources",然后将您的图片复制到那里,然后您可以使用此代码加载图片:
InputStream stream = getClass().getClassLoader().getResource("myImage.png");
ImageIcon icon= new ImageIcon(ImageIO.read(stream));
这应该适用于您的 IDE 并且当应用程序以 jar 文件分发时也适用 ;)