lor*_*hog 29 java eclipse resources imagesource
我已经搜索了一种在java项目中嵌入资源的方法(使用Eclipse v3.6.0),然后在控件中使用该嵌入式资源(例如JLabel).我见过从文件系统引用资源的方法.项目开发完成后,我想将该应用程序发布为可执行文件.应该注意,这些可执行文件将被部署/启动到Windows,*NIX和Linux平台.
我知道这可以在Visual Studio世界中完成,但是我很不熟悉如何在Java/Eclipse IDE中执行此操作.作为一个附带问题,我如何让Eclipse将项目创建为可执行文件以便可以启动它?
任何帮助是极大的赞赏.
标记
更新1:
根据BalusC的回复,我想分享我解决问题的代码.我的类在" Viking.Test" 的包下,然后我将图像文件放在包" Viking.Test.Resources"下.这都是在Eclipse中完成的,用于将图像导入到项目中.
Project/src/Viking/Test/Resources为'Into folder'参数选择" "在源文件中我添加了以下代码以将图像插入到JLabel(LblLogo)中
try
{
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream input = classLoader.getResourceAsStream(
"Viking/Test/Resources/MyImage.jpg");
Image logo = ImageIO.read(input);
LblLogo = new JLabel( new ImageIcon( logo ) );
LblLogo.setBounds(20, 11, 210, 93);
getContentPane().add(LblLogo);
}
catch ( IOException e ) { }
Run Code Online (Sandbox Code Playgroud)
Bal*_*usC 17
只要把这些资源在源/包的结构和使用ClassLoader#getResource()或getResourceAsStream()获得它们的URL或InputStream由完全限定包路径的类路径.
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
InputStream input = classLoader.getResourceAsStream("/image.gif");
// ...
Run Code Online (Sandbox Code Playgroud)
或者,如果它与当前类位于同一个包中,您也可以按如下方式获取它:
InputStream input = getClass().getResourceAsStream("image.gif");
Run Code Online (Sandbox Code Playgroud)
作为一个附带问题,我如何让Eclipse将项目创建为可执行文件,以便可以启动它.
右键单击Java项目>导出>可运行的JAR文件.
| 归档时间: |
|
| 查看次数: |
39356 次 |
| 最近记录: |