如何获取图像的来源

时间:2014-08-21 07:31:39

标签: 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.setColor(Color.BLACK);
    g.fillRect(0,  0, getWidth(), getHeight());

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

}

由于技术限制,我有问题打印我的java程序和我的文件上传。但是,任何人都可以教我获取图像来源的最佳方法吗?很抱歉不再具体了..

1 个答案:

答案 0 :(得分:0)

值得在Loading Images Using getResource

上阅读 Java Tutorial

只需将所有图像放入项目本身或将所有必需的资源捆绑在一个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"))

Read more...

注意:在覆盖的super.paintComponent(g);方法的第一行调用paintComponent()