这是一个简单的问题:如何获取图像的来源。以下是子类的代码:
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程序和我的文件上传。但是,任何人都可以教我获取图像来源的最佳方法吗?很抱歉不再具体了..
答案 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"))
注意:在覆盖的super.paintComponent(g);
方法的第一行调用paintComponent()
。