2

Question:

I would like to know how to create an org.eclipse.swt.graphics.Image object from a .gif in an external .jar file.

Back Ground:

I am creating a TreeViewer based on TreeViewerArticle, and would like to reference a picture in the jt400.jar file for one of my tree elements.

Code Snippet:

class ViewLabelProvider extends LabelProvider {

   public Image getImage(Object obj) {

      <<<<NEED CODE to create org.eclipse.swt.graphics.Image >>>>

   }
} 

Solution:

InputStream stream = this.getClass().getClassLoader().getResourceAsStream("/com/ibm/as400/access/AS40016.gif");
ImageData id = new ImageData(stream);
Image image = new Image(null, id);
return image;
4

1 回答 1

1

尝试这个:- Toolkit.getDefaultToolkit().getImage(getClass().getResource("File dir"));

如果 getResource 不起作用试试这个。

public BufferedImage loadImage(String fileName){

    BufferedImage buff = null;
    try {
        buff = ImageIO.read(getClass().getResourceAsStream(fileName));
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
        return null;
    }
    return buff;

} 

尝试类似:

InputStream stream = this.getClass().getClassLoader().getResourceAsStream("/images/image.jpg");

在您的 JAR 文件中,您可能具有以下目录结构:

jt400.jar
- com (class files in here)
- images
----image.gif

试试这些方法

于 2014-07-28T17:30:30.833 回答