无法使用setIconImage()方法为Java应用程序设置图标

时间:2018-07-04 06:59:40

标签: java eclipse jframe

我正在尝试使用Eclipse在Java中创建一个基于GUI的简单测试工具。我一直在尝试向应用程序添加图标。图像存在于项目内的文件夹中。你能告诉我我在做什么错误。

以下两种情况使我感到沮丧,但不幸的是,两种方法都没有帮助我。 -

1。)v = v - ((v >> 1) & 0x55555555); // reuse input as temporary v = (v & 0x33333333) + ((v >> 2) & 0x33333333); // temp c = ((v + (v >> 4) & 0xF0F0F0F) * 0x1010101) >> 24; // count

2。)frame.setIconImage(image)

以下是我在Eclipse中的项目设置-

enter image description here

下面是我正在使用的代码-

setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource(Filepath)));

由于我要使用lunach4J为该项目创建一个.exe文件,因此这是保持文件(因为我将使用多个图像和文件将它们放置在项目的文件夹中)的方式,从而确保应用程序运行在任何机器上。

2 个答案:

答案 0 :(得分:0)

这是我与打包在可执行JAR文件中的Swing应用程序一起使用的代码。 JFrame具有图标图像。

private static final String APP_ICON_PATH = "myapp/icondirectory/report.png";
ImageIcon icon = new ImageIcon(ClassLoader.getSystemResource(APP_ICON_PATH));
frame.setIconImage(icon.getImage())

“ myapp”是我的包结构的根;例如,使用框架的GUI类位于软件包myapp.gui的软件包中。图像PNG文件位于应用程序的可执行JAR文件中(如您在单独文件夹中的代码中所见)。

此外,请查看Oracle的Java Swing教程,对usage of icons进行说明。

答案 1 :(得分:0)

我摆弄了很多东西,终于找到了出路,因为我的解释有点长,所以我想写一个答案。另外,请建议这是一种好方法,因为我们将导出项目。

Java可以帮助您更改应用程序的图标 setIconImage(image)的,但是此方法不是那么直接,因为我们 处理多个文件,这些文件应在执行代码时出现,所以我们 必须确保它们的路径正确且可访问才能顺利运行。

因此,我们通过创建另一个文件夹并从此处将文件保存在 src 中 我们可以轻松导入文件。请按照以下步骤

步骤-0-将文件放在项目的src文件夹中

通过创建另一个文件夹将文件放入scr文件夹中,在这里我以图像名称创建了另一个文件夹并将文件放置在此处,因此文件路径为

“ Images / biplane.png”,

请确保在“图片”(我们的文件夹名称)之前没有放置“ /”

enter image description here

步骤-1-将文件路径放在URL变量内

步骤-2(可选)-打印此URL变量以交叉检查它是否不为null。如果为空,请再次检查您的路径并重复该活动,以使该值不为空。

步骤-3-现在将此URL传递给ImageIcon方法。

步骤-4-使用该图像调用setIconImage方法。

使用的代码-

URL url = test.class.getClassLoader().getResource("Images/biplane.png");
System.out.println("Path for file is :- \"" + url + "\"");

Image image = new ImageIcon(url).getImage();
frame.setIconImage(image);