Как добавить фоновое изображение в AnchorPane с помощью Scene Builder в JavaFX?

как добавить фоновое изображение к AnchorPane С помощью Scene Builder?

Я пробовал так:

-fx-background-image url('C:/Users/Documents/page_background.gif')

как я установил это в Сцена Builder.

и сгенерированный FXML:

<AnchorPane id="LoginAnchorPane" fx:id="LoginAnchorPane" prefHeight="400.0" prefWidth="600.0" style="-fx-background-image: url('C:/Users/Documents/page_background.gif');" xmlns="http://javafx.com/javafx/8.0.60" xmlns:fx="http://javafx.com/fxml/1" fx:controller="javafx_lsdu.LoginController">

3 ответов


вы можете попробовать установить его непосредственно в Scene Builder как:

-fx-background-image: url('file:C:/Users/Documents/page_background.gif')

для этого требуется указать схему / протокол.

но предлагаемый способ, чтобы отделить стиль CSS в файле CSS. Например, вы можете создать класс стиля CSS в своем CSS-файле (назовем его "приложение".css"):

приложение.в CSS

.anchor {
    -fx-background-image:url('file:/C:/Users/Documents/page_background.gif');
}

затем в файле FXML вы добавляете эту таблицу стилей в корень и добавляете anchor стиль-класс AnchorPane:

<AnchorPane prefHeight="545.0" prefWidth="712.0" styleClass="anchor" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/8.0.60">
  <stylesheets>
    <URL value="@application.css" />
  </stylesheets>
</AnchorPane>

Примечание: таблицы стилей должны быть добавлены в корневой узел (в Примере AnchorPane является корневым).


Я новичок в JavaFX, но я добавил фоновое изображение в свою анкерную панель без какого-либо кодирования. Просто перетащите изображение. Это то, для чего был разработан Scene Builder, не так ли? Я думаю, это лучшее, что есть после нарезанного хлеба.

1) я отредактировал фоновое изображение с помощью Photoshop, чтобы получить тот же размер, что и моя анкерная панель, 800 x 600 пикселей. Я также создал новый пустой файл в Photoshop того же размера. Файл, Новый, Пустой Файл. Затем я скопировал фоновое изображение и вставил его. поверх пустого файла, чтобы я мог установить непрозрачность 50% (прозрачность). Мне это нравится, это делает мою фоновую картину "мягкой".

2) я скопировал фоновое изображение 50% непрозрачности (50% прозрачности) в папку src (source) моего проекта NetBeans. Папка src-это обычная папка Проводника Windows.

3) перетащите фоновое изображение jpg из папки src в Scene Builder как ImageView, на значок AnchorPane (узел), который находится в документе, иерархии. Левая сторона сцены Builder. Если ImageView падает где-то еще, перетащите его туда, где он принадлежит, вы хотите его в AnchorPane, это фон.

4) с выбранным фоновым изображением ImageView (выделено) исправьте настройки на правой панели Scene Builder, Inspector, Layout:ImageView. Установите ограничения панели привязки (вещь паутины) слева и сверху, оба в 0. И зафиксируйте размер, приспособьте ширину 800, приспособьте высоту 600.

Так же просто, как пирог. Есть нет необходимости в кодировании, Scene Builder автоматически пишет код для вас. Также нет необходимости в файле css. Какое удовольствие, вы видите, что делаете. Wysiwyg, что вы видите, то и получаете.


вам нужно сделать новый файл CSS и поместить в него код, указанный ниже, напишите свое имя изображения в url.

.bodybg{
     -fx-background-image: url('**your image name**.jpg');
     -fx-background-size: 100% 100%;    
  }

после этого вы должны выбрать панель привязки перейдите к их свойствам и выберите таблицу стилей CSS и выберите класс Stle. После этого ваш фон изменится.

Я нашел полный учебник, объясняющий все подробно измените фон приложения в Scene Builder