Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在eclipse中将图像添加到项目目录中?_Java_Eclipse_Image_Jar_Directory - Fatal编程技术网

Java 如何在eclipse中将图像添加到项目目录中?

Java 如何在eclipse中将图像添加到项目目录中?,java,eclipse,image,jar,directory,Java,Eclipse,Image,Jar,Directory,我有一个在eclipse中运行并且不会抛出运行时错误的程序,它应该在程序的末尾为JButton设置一个映像,但是映像永远不会被放到按钮上。这个程序在DrJava中运行得很好,但为了生成一个jar文件,我转移到了eclipse 我在发布的另一个问题中看到,有人有一个类似的问题,说图像应该放在项目目录而不是src目录中,但它没有解释如何实际解决这个问题。。。我是eclipse的新手,如果有人能帮我,我会很感激的,谢谢 以下是如何在“我的代码”中设置图像: public void tempSelect

我有一个在eclipse中运行并且不会抛出运行时错误的程序,它应该在程序的末尾为JButton设置一个映像,但是映像永远不会被放到按钮上。这个程序在DrJava中运行得很好,但为了生成一个jar文件,我转移到了eclipse

我在发布的另一个问题中看到,有人有一个类似的问题,说图像应该放在项目目录而不是src目录中,但它没有解释如何实际解决这个问题。。。我是eclipse的新手,如果有人能帮我,我会很感激的,谢谢

以下是如何在“我的代码”中设置图像:

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参数相同


这将使您可以轻松地将图标与应用程序捆绑在一起,并且无论工作目录是什么,都可以加载图标。

显示代码和项目的布局。您想要的是主类还是添加图标的类image@JBNizet我添加了一段代码来添加图像