我正在开发一个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
。我确定该文件的路径没问题,因为它在主方法中无处不在,我没有错误,但是当它在另一个类中时我就是这样面对这个问题。