Я разместил несколько изображений на сцену, все указали на одно и то же изображение с различными окнами просмотра .JavaFX Scene Builder, несколько ImageViews с тем же изображением
генерироваться FXML:
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<children>
<ImageView fitHeight="150.0" fitWidth="200.0" layoutX="80.0" layoutY="91.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="@../../../../../Pictures/sas.png" />
</image>
<viewport>
<Rectangle2D height="50.0" minY="50.0" width="50.0" />
</viewport>
</ImageView>
<ImageView fitHeight="150.0" fitWidth="200.0" layoutX="308.0" layoutY="91.0" pickOnBounds="true" preserveRatio="true">
<viewport>
<Rectangle2D height="50.0" minX="50.0" minY="50.0" width="50.0" />
</viewport>
<image>
<Image url="@../../../../../Pictures/sas.png" />
</image>
</ImageView>
<ImageView layoutX="225.0" layoutY="250.0">
<image>
<Image url="@../../../../../Pictures/sas.png" />
</image>
</ImageView>
</children>
Вопрос, будет ли это создать 3 экземпляров одного и того же изображения в памяти? Если да, то каковы наилучшие способы избежать этого, url ("") в атрибуте style, css class? Я бы хотел избежать создания класса css для каждого отдельного значка!
Возможно ли использовать одно крупное изображение с обрезкой для нескольких значков & Элементы пользовательского интерфейса вместо небольшого изображения для каждого в этот день & Возраст?
Ах, я ответил термины FXML: я не уверен, поддерживает ли SceneBuilder ''. –
Неполадка заключается в том, что файл не читается файлом сценария, который может быть утомительным в больших проектах. Поэтому придерживаться CSS, вероятно, правильный путь. –
Единственным недостатком подхода css является то, что он не устанавливает свойство 'image' на' ImageView'. Поэтому, если вам нужно было получить изображение позже в контроллере с помощью 'ImageView.getImage()', вы бы не смогли; подход '' позволяет это. Вероятно, стоит указать [запрос функции] (https://javafx-jira.kenai.com/secure/Dashboard.jspa) для '' поддержки в SceneBuilder. –