Java 如何获取图像的源

Java 如何获取图像的源,java,image,swing,Java,Image,Swing,这里有一个简单的问题:如何获取图像源。以下是子类的代码: import javax.swing.JComponent; import java.awt.*; public class PuzzleGameBoard extends JComponent { private Image penguin; public PuzzleGameBoard() { penguin = ; } public void paintComponent(Graphics g) { g.s

这里有一个简单的问题:如何获取图像源。以下是子类的代码:

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

public class PuzzleGameBoard extends JComponent {

private Image penguin;

public PuzzleGameBoard() {

    penguin = ;
}

public void paintComponent(Graphics g) {
    g.setColor(Color.BLACK);
    g.fillRect(0,  0, getWidth(), getHeight());

    g.drawImage(penguin,  30, 30, this);
}

}
由于技术限制,我无法打印我的java程序和要上传的文件。但是有谁能教我获取图像来源的最佳方法吗?很抱歉,又没有说得太具体了。

值得一读关于Java的教程

只需将所有图像放在项目本身中,或者将所有必需的资源捆绑在一个jar中,并将其添加到类路径中,然后根据图像位置尝试任何一种

// Read from same package 
ImageIO.read(getClass().getResourceAsStream("c.png"));

// Read from images folder parallel to src in your project
ImageIO.read(new File("images/c.jpg"));

// Read from src/images folder
ImageIO.read(getClass().getResource("/images/c.png"))

// Read from src/images folder
ImageIO.read(getClass().getResourceAsStream("/images/c.png"))

注:调用super.paintcomponent;在重写的paintComponent方法的第一行。

图像文件存储在哪里?。有人能教我获取图像源的最佳方法吗?你到底在说什么?这是你应用程序的一部分吗。你提供的?通过'source'DYM'path'?…您正在寻找如何显示图像。myComputer->F:myUSB->Java->lab09->content->images->Penguin为什么不将图像放入项目本身?如果未插入USB,应用程序将无法工作。