Как создать org.eclipse.swt.graphics.Image из внешнего JAR

Вопрос:

Я хотел бы знать, как создать объект org.eclipse.swt.graphics.Image из.gif во внешнем файле.jar.

Фон:

Я создаю TreeViewer на основе TreeViewerArticle, и я хотел бы сослаться на изображение в файле jt400.jar для одного из моих элементов дерева.

Фрагмент кода:

class ViewLabelProvider extends LabelProvider {

   public Image getImage(Object obj) {

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

   }
} 

Решение:

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;

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

попробуйте эти методы

Другие вопросы по тегам