java - 我在哪里放置java程序输入的图像?

标签 java eclipse image graphics io

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

编辑: 好吧,我发现它是从类的源中获取图像的。但是,假设我想从我的桌面或硬盘驱动器上的其他位置提取图像,我该怎么做?

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);
}

最佳答案

This会有帮助。
或者直接使用绝对路径来归档。 linux:/home/user/... 窗口: C:/Users/..

关于java - 我在哪里放置java程序输入的图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31349697/

相关文章:

java - 在 JBoss 7.x 中加载模块

android - 无法将 android.support.v7 添加到我的项目构建路径

html - CSS 背景图片链接正确;不在浏览器中显示

c# - 按屏幕分辨率切入图像

java - 如何将 HTTP POST 请求从 Servlet 发送到外部 Web 服务?

java - 部署 Java EE 应用程序后执行任务

java - 使用 jsmpp 与 smpp 服务器绑定(bind)问题

java - JSP Tomcat 不良资源

android - 运行我的 android 应用程序时出现 Dx 警告

html - 角色 ="presentation"或 aria-hidden ="true"用于装饰图像?