Java - SWT - 为什么我必须在这种情况下使用绝对路径?

时间:2015-08-13 08:50:47

标签: java swt windowbuilder

我正在开发一个SWT应用程序。我遇到了这个奇怪的错误。假设我有:

public class ShellCenter {
    public static void main(String[] args) {
        Display display = new Display();
        Shell shell = new Shell(display);
        shell.setSize(200, 200);

        imgData = new ImageData("src/main/resources/images/edit.png");
        buttonImg = new Image(composite.getDisplay(), imgData);
        addButton.setImage(buttonImg);

        A newA = new A();

        shell.setLocation(x, y);
        shell.open();
        while (!shell.isDisposed()) {
            if (!display.readAndDispatch())
                display.sleep();
        }
        display.dispose();
    }
}

public class A
{
    imgData = new ImageData("src/main/resources/images/edit.png");
    buttonImg = new Image(composite.getDisplay(), imgData);
    editButton.setImage(buttonImg);
} 

然后每当我将透视图从源代码更改为设计(我使用Eclipse和WindowBuilder)时,我都会收到消息"找不到文件"对于A类中的路径,但是当我运行此应用程序时,它仍然正常运行,仍然会出现按钮的图标。如果我想使用设计视图,我必须将该路径更改为绝对路径,如:D:/ ... /edit.png。我确定该文件的路径没问题,因为它在主方法中无处不在,我没有错误,但是当它在另一个类中时我就是这样面对这个问题。

0 个答案:

没有答案