如何将IDEA的构建文件夹从TEMP更改为其他内容?

时间:2013-01-27 23:06:08

标签: java applet

我试图跑:

import java.applet.Applet;
import java.awt.*;
import java.net.URL;

public class img extends Applet
{
    private Image img;
    public void init()
    {
        img = null;
    }
    public void loadImage()
    {
        try
        {
            img = getImage(getCodeBase(), "winter.jpg");
            System.out.println(img);
            System.out.println(prepareImage(img, 300, 400, this));
        }
        catch(Exception e){}

        System.out.println(getDocumentBase());
    }
    public void paint(Graphics g)
    {
        if (img == null)
            loadImage();
        g.drawImage(img, 0, 0, this);
    }
}

但它找不到winter.jpg,除非它在:file:/ C:/ Users / Admin / AppData / Local / Temp /

的System.out.println(getDocumentBase());收益: 文件:/ C:/Users/Admin/AppData/Local/Temp/AppletPage1228891259548967526.html 代替: C:/ Users / Admin / Dropbox / dev / idea / Exam3 / out / production / Exam3 /(.class文件所在的位置)

我正在使用IntelliJ IDEA 12。

我只想将我的JPEG放在Exam3文件夹而不是Temp文件夹中。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

使用getDocumentBase()加载资源的解决方法您可以使用类的getResource获取URL,该类获取相对于类的资源。

URL base = img.class.getResource("/data/winter.jpg");
Image img = ImageIO.read(base);

其中data是您案例中Exam3文件夹中包含此类文件的文件夹。