【问题标题】:How to find path to Image in Netbeans Plaform Maven Plugin如何在 Netbeans 平台 Maven 插件中找到图像的路径
【发布时间】:2014-10-22 17:22:14
【问题描述】:

我尝试将插件写入 NetBeans IDE。但我无法找到某些图像的正确路径:

这是我的项目树结构:

并像这样测试代码显示图标 wePagesBadge.gif

        ImageIcon image = new ImageIcon("webPagesBadge.gif");
        JOptionPane.showMessageDialog(null, "Some Messsage","Example",JOptionPane.INFORMATION_MESSAGE,image);

当然,当我将此图像放入我在本地计算机上安装 netbeans 的根文件夹中时,该图标会出现在 JOptionPane 中。这条路是

 C:\Program Files\NetBeans 8.0

其他例子是当我不使用 Maven 项目类型开发插件,而是使用 Netbeans 模块项目类型:

这次图像出现在 JOptionPane 上。我花了很多时间寻找答案,但我不知道如何解决它。

【问题讨论】:

  • 您应该遵循conventions in Maven,这意味着在src/main/resources/ 文件夹中拥有图像等资源,而在src/main/java 文件夹中NOT

标签: java maven netbeans netbeans-platform netbeans-plugins


【解决方案1】:

把资源放在源码包下是不好的做法

在 src/main/resources 下创建一个以资源名称命名的文件夹,然后尝试使用

className.class.getClassLoader().getResource("yourImageFile");

所以这应该可以完成工作

ImageIcon imageIcon = new ImageIcon(PDFGenerator.class
                                                .getClassLoader()
                                                .getResource("yourIcon.gif"));

【讨论】:

  • +1,ClassLoader 是我见过的唯一适用于 Netbeans 项目和打包 JAR 的方法。
  • 感谢您@SparkOn!我一直在寻找这个几天,但没有任何工作。你的方法终于成功了。 +1
【解决方案2】:

我找到了解决方法。使用如下代码:

    ImageIcon image = new ImageIcon("webPagesBadge.gif");
    JOptionPane.showMessageDialog(null, "Some Messsage","Example",JOptionPane.INFORMATION_MESSAGE,image);

我用

     ImageIcon image = new ImageIcon(ImageUtilities.loadImage("webPagesBadge.gif"));
     JOptionPane.showMessageDialog(null, "Some Messsage","Example",JOptionPane.INFORMATION_MESSAGE,image);

我把图片放进去:

我用来加载图像的方法

    ImageUtilities.loadImage("webPagesBadge.gif")

来自 org.openide.util.ImageUtilities

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-27
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-22
    相关资源
    最近更新 更多