在String java中获取图标包路径

时间:2012-12-19 07:50:56

标签: java swing resources icons embedded-resource

我有一个项目,其中我已经为图标创建了包..eg com.example.icon和com.example.classes ....现在我想设置一个String路径变量来设置这样的路径...... / src / com / example / ui,然后我用它指定图标名称并访问icon..problem是我想动态设置它以便我的jar文件不会在不同的系统中出现问题。如何设置路径变量我无法弄清楚..谢谢你

我看到了File.getResource("some file name"),但我不想在开始时设置任何文件名。 我正在使用网豆

修改

现在我正在使用此代码..

  URL url = Main.class.getResource("PATH"); 
  String path = url.toString();
  .......
  ImageIcon icon = new ImageIcon(path+"/add_icon.png");

但它没有显示图标并显示“sun.tools.jar.main”的Depericated Api错误,我检查了系统输出路径值它是有效的.. ....?

4 个答案:

答案 0 :(得分:4)

尝试使用

getClass().getResource("com/example/ui/imageFile");

答案 1 :(得分:0)

有多种方法可以做到这一点。您可以使用命令行参数

public static void main(String[] args) {
    String path = args[0];
}

或属性

Properties props = new Properties();
props.load("Some Properties file in a fixed location");

String path = props.getProperty("path");

或系统属性(使用-Dpath选项调用)

String path = System.getProperty("path");

答案 2 :(得分:0)

此外,您可以使用ClassLoader获取InputStream并读取文件。

 fis = YourClass.class.getClassLoader().getResourceAsStream(FILE);

答案 3 :(得分:0)

如果您使用的是NetBeans IDE,则可以使用“jXImagePanel”来显示图像,将图像设置为jXImagePanel的代码为:

jXImagePanel2.setImage(getImage("icons/yourimage.jpg"));