Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我应该把java程序的图像放在哪里输入?_Java_Eclipse_Image_Graphics_Io - Fatal编程技术网

我应该把java程序的图像放在哪里输入?

我应该把java程序的图像放在哪里输入?,java,eclipse,image,graphics,io,Java,Eclipse,Image,Graphics,Io,我一直在遵循一个教程来学习图形,在一个程序中,作者使用图像来制作纹理绘画。我已经复制了他的代码,但我不知道在哪里实际放置的图像阅读。我曾尝试在eclipse中创建一个resources文件夹,并将其设置为源文件夹构建路径,但没有成功。代码如下: 编辑: 好吧,我发现它是从课程的来源拍摄的。然而,假设我想从我的桌面或硬盘上的其他位置提取一个图像,我该如何做呢 class Surface extends JPanel { private BufferedImage slate; p

我一直在遵循一个教程来学习图形,在一个程序中,作者使用图像来制作纹理绘画。我已经复制了他的代码,但我不知道在哪里实际放置的图像阅读。我曾尝试在eclipse中创建一个resources文件夹,并将其设置为源文件夹构建路径,但没有成功。代码如下:

编辑: 好吧,我发现它是从课程的来源拍摄的。然而,假设我想从我的桌面或硬盘上的其他位置提取一个图像,我该如何做呢

class Surface extends JPanel {

    private BufferedImage slate;
    private BufferedImage java;
    private BufferedImage pane;
    private TexturePaint slatetp;
    private TexturePaint javatp;
    private TexturePaint panetp;

    public Surface() {

        loadImages();
    }

    private void loadImages() {

        try {

            slate = ImageIO.read(new File("slate.png"));
            java = ImageIO.read(new File("java.png"));
            pane = ImageIO.read(new File("pane.png"));



 } catch (IOException ex) {

        Logger.getLogger(Surface.class.getName()).log(
                Level.SEVERE, null, ex);
    }
}

private void doDrawing(Graphics g) {

    Graphics2D g2d = (Graphics2D) g.create();

    slatetp = new TexturePaint(slate, new Rectangle(0, 0, 90, 60));
    javatp = new TexturePaint(java, new Rectangle(0, 0, 90, 60));
    panetp = new TexturePaint(pane, new Rectangle(0, 0, 90, 60));

    g2d.setPaint(slatetp);
    g2d.fillRect(10, 15, 90, 60);

    g2d.setPaint(javatp);
    g2d.fillRect(130, 15, 90, 60);

    g2d.setPaint(panetp);
    g2d.fillRect(250, 15, 90, 60);

    g2d.dispose();
}

@Override
public void paintComponent(Graphics g) {

    super.paintComponent(g);
    doDrawing(g);
}

}可能会有帮助
或者只使用文件的绝对路径。linux:/home/user/。。。widnows:C:/Users/。

这能解决您的问题吗?啊,是的,它能解决gmk!非常感谢。讽刺的是,这段代码也是zetcode的一个教程。虽然我可能仍然保留这个问题,并对其进行一些更改,但您如何选择不同的位置作为图像的源位置?只需使用绝对
PATH
归档即可。linux:/home/user/。。。widnows:C:/Users/。哦,我明白了,再次感谢!我试试看@gmk如果你愿意,你可以把它记下来作为答案,这样我就可以接受它并结束这个问题会更好。