gpt4 book ai didi

java - SWT - 将我的所有图像存储在一个位置的图像资源

转载 作者:行者123 更新时间:2023-12-01 08:15:33 26 4
gpt4 key购买 nike

我的 src 目录中有一个名为 images 的包。我在项目中使用了很多图像。我在唯一的 Swing 类中使用一个方法来获取图标。

 public Icon getIcon(String name) {
Icon icon = null;
URL url = null;
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
try {
url = classLoader.getResource(name);
icon = new ImageIcon(url);
}
catch (Exception e) {
System.out.println("Couldn't find " + getClass().getName() + "/" + name);
e.printStackTrace();
}
return icon;
}

获取图标

getIcon("/images/pdfClose.png");

这对于图标非常有用,但在我的 SWT 类中,我使用图像。

SWT 中有没有办法复制 getIcon() 方法正在执行的操作?是否可以重写获取图像的方法?

public ImageIcon getImage(String name) {
ImageIcon image = null;
URL url = null;
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
try {
url = classLoader.getResource(name);
image = new ImageIcon(url);
}
catch (Exception e) {
System.out.println("Couldn't find " + getClass().getName() + "/" + name);
e.printStackTrace();
}
return image;
}

我知道它会引发错误此实例方法无法覆盖 Dialog 中的静态方法

但是有解决办法吗?

最佳答案

我真的不明白,你在哪里挣扎。这就是我加载图像的方法:

public static Image loadImage(String path, boolean inJar)
{
Image newImage = null;

try
{
if(inJar)
{
newImage = new Image(null, YOUR_MAIN_CLASS.class.getClassLoader().getResourceAsStream(path));
}
else
{
newImage = new Image(null, path);
}
}
catch(SWTException ex)
{
System.out.println("Couldn't find " + path);
e.printStackTrace();
}

return newImage;
}

请注意,我不会将图像保存在 src 文件夹中,因为该文件夹用于存放源文件。我在项目的根目录中有一个文件夹 img 并通过以下方式访问图像:

Image image = Images.loadImage("img/myImage.png", true);

关于java - SWT - 将我的所有图像存储在一个位置的图像资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13649771/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com