如何将图像添加到eclipse中的项目目录中?
问题描述:
我有一个程序运行并没有在eclipse中抛出运行时错误,它应该在程序结束时将一个图像设置为JButton作为结果,但图像永远不会放到按钮上。该程序在DrJava中运行良好,但为了创建jar文件,我将其转移到了eclipse。如何将图像添加到eclipse中的项目目录中?
我在另一个问题中看到,有人有一个类似的问题,说图像应该放在项目目录中,而不是src目录,但它没有解释如何真正解决问题... im新的eclipse所以如果有人可以帮助我ID感谢它。
这里是如何将图像设置在我的代码:
public void tempSelection70 (int fRate, int wbTemp, int rcTons, int a, int r)
{
for (int model = 0; model < 7; model++)
{
MyArray y = new MyArray(tons70FCharts[model], "t");
int[][] x = y.getArray();
int t = x[a][r];
if (rcTons == t)
{
tableButton = new JButton(new ImageIcon(tablesFor70[model], tablesFor70[model]));
break;
}
else
{
tableButton = new JButton(new ImageIcon("CANNOT_FIND_MODEL.GIF", "SCROLL"));
}
}
for (int model = 0; model < 7; model++)
{
MyArray y = new MyArray(flow70FCharts[model], "f");
int[][] x = y.getArray();
int t = x[a][r];
if (fRate == t)
{
tableButton = new JButton(new ImageIcon(tablesFor70[model], tablesFor70[model]));
break;
}
else
{
tableButton = new JButton(new ImageIcon("CANNOT_FIND_MODEL.GIF", "SCROLL"));
}
}
}
答
你传递一个文件名作为参数。我猜这个文件名是一个相对文件名。因此,该文件与您的IDE启动执行应用程序的java
命令的目录相关:工作目录。
该目录可以从Eclipse的运行配置中的“参数”选项卡下进行更改。但这可能不是你想要的。这些图标当然应该与您的应用程序捆绑在一起,并加载类加载器。将它们放在源文件夹中的一个包中。 Eclipse会将它们与编译的类一起复制到输出目录。如果你为你的应用程序生成一个jhar,它们将与你的类捆绑在jar中。一旦做到这一点,你只需要使用构造采取URL作为参数,并通过
SomeClassOfYourApp.getResource("/the/package/of/the/image.png")
,因为这URL参数。
这将允许您轻松地将图标与应用程序捆绑在一起,并且无论工作目录是什么,都会加载图标。
显示代码和项目布局。 – 2012-07-09 14:09:53
它不是你想要的主类还是添加图像的类 – user1469139 2012-07-09 14:10:35
@JBNizet我添加了一段添加图像的代码 – user1469139 2012-07-09 14:18:22