У меня есть приложение RAP, работающее в OSGI. И я хочу отобразить некоторые изображения.
К сожалению, мой браузер не показывает изображение для файла, который я хочу. Я протестировал его с очень маленькой гифкой, которая показала. Но только один. Когда я поменял его на другой, он все равно не работал. Точная проблема заключается в том, что если я помещу границу вокруг изображений, я смогу увидеть границу. Но на границе ничего нет.
Я пробовал несколько разных вещей в течение нескольких дней, но я думаю, что застрял на этом этапе.
Я пытался сделать это так:
Image image3 = loadImage( parent.getDisplay(), "icons/test-100x50.png" );
Label l3 = new Label( parent, SWT.BORDER );
l3.setImage( image3 );
а вот так:
public static Image loadImage( Display display, String name ) {
Image result = null;
InputStream stream = BasicEntryPoint.class.getClassLoader().getResourceAsStream( name );
if( stream != null ) {
try {
result = new Image( display, stream );
} finally {
try {
stream.close();
} catch( IOException unexpected ) {
throw new RuntimeException( "Failed to close image input stream", unexpected );
}
}
}
return result;
}
Я даже пробовал это с разметкой
но я не могу найти то, что мне не хватает.
изображения находятся в плагине в папке с именем icons
, и я выбрал папку icons
в файле build.properties
.
К вашему сведению: я видел демо-версию RAP с синим заголовком и реализовал свою картинку вот так. Сначала это работало, но как только я запустил его как приложение OSGI, я мог видеть только границу для команды SWT.BORDER.