image
image отображает изображение из контейнера данных, ресурса приложения, URL или программно заданного источника.
XML-элемент |
|
|---|---|
Java-класс |
|
Основы
Чтобы отобразить доступное приложению изображение, задайте атрибут resource:
<image resource="icons/jmix-icon.png" height="10em" width="10em"/>
Привязка к данным
Задайте dataContainer и property, чтобы отображать атрибут сущности типа FileRef или byte[]. В примере поле загрузки и image привязаны к атрибуту content, поэтому новое загруженное значение отображается сразу:
<data>
<instance id="pictureDc"
class="io.jmix.uisamples.entity.Picture"
fetchPlan="_local"/>
</data>
<layout>
<fileUploadField label="Load new image" dataContainer="pictureDc" property="content"
clearButtonVisible="true" fileNameVisible="true" acceptedFileTypes=".png"/>
<image id="numberField" height="10em" width="10em"
alternateText="No picture loaded"
dataContainer="pictureDc" property="content"/>
</layout>
URL и программные источники
Чтобы использовать внешний URL, задайте его в resource. Для источника, созданного во время выполнения, вызовите setSrc() с DownloadHandler. В примере показаны оба подхода.
Статические веб-ресурсы обычно находятся в каталогах /static, /public, /resources или /META-INF/resources в classpath. Если они должны быть доступны без аутентификации, см. Статические общедоступные ресурсы.
<layout justifyContent="BETWEEN" classNames="horizontal-layout">
<vbox padding="false" width="AUTO" alignItems="CENTER">
<h4 text="URL resource"/>
<image resource="https://www.jmix.io/uploads/framework_image_9efadbc372.svg"
height="15em" width="15em"/>
</vbox>
<vbox padding="false" width="AUTO" alignItems="CENTER">
<h4 text="Programmatic resource"/>
<image id="imageProgrammaticResource"
height="15em" width="15em"/>
</vbox>
</layout>
protected static final String SRC_PATH = "/META-INF/resources/icons/image-sample.svg";
@ViewComponent
protected JmixImage<?> imageProgrammaticResource;
@Subscribe
protected void onInit(InitEvent event) {
imageProgrammaticResource.setSrc(DownloadHandler.forClassResource(getClass(), SRC_PATH));
}
Варианты темы
Используйте themeNames, чтобы настроить размещение изображения в заданных размерах.
| Вариант | Описание | Поддерживается в |
|---|---|---|
|
Растягивает изображение по ширине и высоте. |
Aura, Lumo |
|
Масштабирует изображение без обрезки, чтобы оно полностью поместилось в области. |
Aura, Lumo |
|
Масштабирует и обрезает изображение, чтобы заполнить всю область. |
Aura, Lumo |
|
Выбирает меньший размер из исходного и полученного при варианте |
Aura, Lumo |
Атрибуты
В Jmix существует множество общих атрибутов, которые служат одной цели для всех компонентов.
Следующие атрибуты относятся только к image:
| Имя | Описание | По умолчанию |
|---|---|---|
Задаёт доступный альтернативный текст, который также отображается, если изображение не загрузилось. |
— |
|
Задаёт расположение изображения. См. URL и программные источники. |
— |
|
Применяет один или несколько вариантов из раздела Варианты темы. |
— |
Обработчики
В Jmix существует множество общих обработчиков, которые настраиваются одинаково для всех компонентов.
Следующие обработчики специфичны для image:
| Имя | Описание |
|---|---|
Срабатывает при нажатии на изображение. Используйте subject |