我使用在一些图像JFrame
,我已经给到图像加载到所述框架的面板的路径,但是当我提出的申请它不是显示图像的罐子。
我应该在哪里放置图像?
我应该如何指定路径?
setIconImage(Toolkit.getDefaultToolkit().getImage(
"D:\\RFT\\src\\dailogBox\\dump.jpg"));
喜欢我所做的。
我使用在一些图像JFrame
,我已经给到图像加载到所述框架的面板的路径,但是当我提出的申请它不是显示图像的罐子。
我应该在哪里放置图像?
我应该如何指定路径?
setIconImage(Toolkit.getDefaultToolkit().getImage(
"D:\\RFT\\src\\dailogBox\\dump.jpg"));
喜欢我所做的。
第一步:把你的形象在你的JAR文件定义的位置。 如果你把它变成在src文件夹,也许你的IDE或你的构建工具会自动将其打包到JAR。 否则,请检查您的IDE /编译工具的文件,在哪个位置,你必须把它。
第二步:从你的程序访问文件。 我想你把它放在包(在你的JAR的路径)包1 /包2和文件名为dump.jpg。 在这种情况下,您拨打:
setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/package1/package2/dump.jpg")));
的getClass()。的getResource(...)返回的URL对你的classpath的资源。 你与“/”类路径开始的路径,使用完整路径/包到你的资源,由“/”分隔。
这是处理一个JAR应用中的所有图片和图标的最佳途径。
一旦你拉上所有的图片和图标到它自己的JAR文件 - 通过将图像JAR文件到您的图书馆标签,以便其现在包含在类路径配置您的构建路径。
然后,只需使用下面的代码行3倍于你的constuctor开始访问你需要的任何东西,包括不接受简单的ImageIcon的作为其主要的图标(奇怪我知道)一个SystemTray的图像的任何图像。 3倍线是:
URL iconUrl = this.getClass().getResource("/image-iconb.png");
Toolkit tk = this.getToolkit();
someimgicon = tk.getImage(iconUrl);
(someimgicon仅仅是一个构造函数中声明图片变量) 现在,你可以设置一个窗口图标简单,如:
setIconImage(someimgicon);
并在同一时间通过声明设置系统的TrayIcon当使用相同的变量:
trayIcon = new TrayIcon(someimgicon, "SystemTray Demo", popupMenu);
上述允许在不运行不保持图像的资源在正确的地方的风险容易和集中申报图像或ImageIcons。 它保持它的漂亮和整洁,包含所有的图像在运行时间和程序的分布自动编译的JAR。
作为奖励 ,一旦JAR位于CLASSPATH注册-你可以保持随时添加任何其他图像到同一JAR没有任何大惊小怪太-一切都只是工作和增加的图像立即提供给您的应用程序。
在我看来好得多。
首先创建下源包一包(说图片)
所有图像复制到该包(当你创建一个包,在你的包的名称的文件夹将项目src文件夹内创建,使影像复制到)
你可以从你的程序的访问您的照片
实施例1:
this.setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/images/yourimagename")));
实施例2:
URL imageurl = getClass().getResource("/images/imagename");//assuming your package name is images
Image myPicture = Toolkit.getDefaultToolkit().getImage(imageurl);
JLabel piclabel = new JLabel(new ImageIcon( myPicture ));
piclabel.setBounds(0,0,myPicture.getWidth(null),myPicture.getHeight(null));
现在,使用此JLabel piclabel
有很多种方法,例如做一个文件夹,名为资源的jar文件,并从那里使用相对路径引用您的图片....
在NetBeans 8.1什么,我所做的就是包含图标的文件夹和其他图像称为在项目文件中的src文件夹内的资源 。 所以每当我建立Jar文件的文件夹包含there.The文件树应该是这样的:
- SRC(源packges Java文件都在这里)
**包你命名项目**
- file.java
资源
- image.jpg的
该代码应该是这样的:
jToggleButton1.setIcon(new javax.swing.ImageIcon(this.getClass().getResource("/resources/image.jpg")));
在你的JAR添加图片作为一种资源,然后(假设罐子在classpath中),使用的类加载器加载它作为流 。
最简单的方式做到这一点是让你的形象是在平行于jar文件的文件夹。 例:
说,在调用图像这样的代码:
pic = new ImageIcon("Pics/buttonpic.jpg");
这意味着您的图片将被称为buttonpic和位于项目目录中名为照片管理文件夹中。 现在,你让你的jar文件后,复制照片管理文件夹到同一文件夹中的jar文件的位置。
例如:如果你的jar文件位于您的桌面上,然后把桌面上的照片管理文件夹。 现在,当你运行jar文件,你的图片将正常工作。 现在掩饰,你需要有你的照片文件夹旁边的jar文件的事实,你可以创建该文件夹的罐子和照片管理文件夹中的新文件夹和地点。 然后右键单击罐子,并创建一个快捷方式,然后在桌面上放置该快捷方式或者你想刚才的jar文件,无论你想在隐藏它放在你创建新文件夹。