我的Java应用程序有问题,特别是从我的计算机中的某个位置加载图像.
在这篇文章之后,我使用a BufferedImage和a InputFileStream在我的计算机上加载图像.首先,我将image(pic2.jpg)放入源代码中,这是有效的.但是,如果我把图像放到另一个地方(让我们说C:\\ImageTest\pic2.jpg),Java IDE 会给我看一个IllegalArgumentException
return ImageIO.read(in);
Run Code Online (Sandbox Code Playgroud)
这是代码:
public class MiddlePanel extends JPanel {
private BufferedImage img;
public MiddlePanel(int width) {
//img = getImage("pic2.jpg");
img = getImage("C:\\ImageTest\\pic2.jpg");
this.setPreferredSize(new Dimension(800,460));
}
public void paintComponent(Graphics g) {
// ...
}
private BufferedImage getImage(String filename) {
// This time, you can use an InputStream to load
try {
// Grab the InputStream for the image.
InputStream in = getClass().getResourceAsStream(filename);
// Then read it. …Run Code Online (Sandbox Code Playgroud)