Как установить фоновое изображение сцены?JavaFX Как установить фоновое изображение сцены
ответ
Одним из подходов может быть таким:
1) Создание CSS-файл с именем "style.css" и определить селектор идентификатора в нем:
#pane{ -fx-background-image: url("background_image.jpg"); -fx-background-repeat: stretch; -fx-background-size: 900 506; -fx-background-position: center center; -fx-effect: dropshadow(three-pass-box, black, 30, 0.5, 0, 0); }
2) Установите идентификатор самого верхнего элемента управления (или любого элемента управления) в сцене со значением, определенным в CSS, и загрузите этот файл CSS в сцену:
public class Test extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
StackPane root = new StackPane();
root.setId("pane");
Scene scene = new Scene(root, 300, 250);
scene.getStylesheets().addAll(this.getClass().getResource("style.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();
}
}
Вы также можете дать идентификатор для элемента управления в файле FXML:
<StackPane id="pane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml" fx:controller="demo.Sample">
<children>
</children>
</StackPane>
Для получения дополнительной информации о JavaFX CSS Styling ссылку на это guide.
Вы можете изменить стиль непосредственно на сцену, используя .root
класс:
.root {
-fx-background-image: url("https://www.google.com/images/srpr/logo3w.png");
}
Добавьте к этому CSS и загрузить его как «Улук бия», описанные в его ответе.
Упс! Как заставить изображение заполнить всю сцену? Его оставляют белые пробелы слева и сверху. – John
'-fx-background-repeat: stretch; ' –
Он все еще оставляет пространство. Корень сцены - это GridPane, и я сосредоточен на сетке на сцене. Как предотвратить центрирование фонового изображения? – John
Я знаю, что это старый вопрос
Но в случае, если вы хотите сделать это программно или ява способ
для фона изображения; Вы можете использовать BackgroundImage класс
BackgroundImage myBI= new BackgroundImage(new Image("my url",32,32,false,true),
BackgroundRepeat.REPEAT, BackgroundRepeat.NO_REPEAT, BackgroundPosition.DEFAULT,
BackgroundSize.DEFAULT);
//then you set to your node
myContainer.setBackground(new Background(myBI));
для краски или заполнить Фоновые; Вы можете использовать BackgroundFill класс
BackgroundFill myBF = new BackgroundFill(Color.BLUEVIOLET, new CornerRadii(1),
new Insets(0.0,0.0,0.0,0.0));// or null for the padding
//then you set to your node or container or layout
myContainer.setBackground(new Background(myBF));
Держит ява жив & & ваш CSS мертв ..
- 1. JavaFX: Как установить фоновое изображение для моей сцены
- 2. JavaFX: Как установить фоновое изображение в коде?
- 3. JavaFX - GridPane Фоновое изображение
- 4. XCode - фоновое изображение сцены сцены из assets.xcassets
- 5. Фоновое изображение на JavaFX
- 6. Фоновое изображение в JavaFX
- 7. Как установить изображение на фон сцены в JavaFX?
- 8. Фоновое изображение для сцены с Sprite-Kit
- 9. Как установить фоновое изображение?
- 10. Как установить фоновое изображение
- 11. Как установить фоновое изображение?
- 12. Невозможно установить фоновое изображение изображение
- 13. Как установить фоновое изображение NSSegmentedControl?
- 14. Как установить фоновое изображение вида?
- 15. Как установить Фоновое изображение кнопки
- 16. Как установить фоновое изображение ImageButton?
- 17. как установить фоновое изображение ImageView
- 18. Установить фоновое изображение как ссылку?
- 19. Как установить фоновое изображение формы
- 20. Как установить фоновое изображение таблицы
- 21. Как установить фоновое изображение панели
- 22. Установить фоновое изображение SurfaceView
- 23. Невозможно установить фоновое изображение
- 24. JavaFx задает внешнее фоновое изображение программно
- 25. LibGDX - Установить фоновое изображение (статичным)
- 26. Установить фоновое изображение на GADBannerView
- 27. Установить фоновое изображение без css
- 28. Как переключать сцены в JavaFX
- 29. Установить фоновое изображение в DIV
- 30. Установить фоновое изображение с помощью css не загружать фоновое изображение
я выкладываю еще один вопрос раньше, пожалуйста, помогите ссылку здесь http://stackoverflow.com/questions/9736393/javafx-2 -not-resizing-ui-control-based-on-window-size – John
Могу ли я изменить фон сцены из другой функции, кроме пустого запуска – Ossama
@Ossama да, вы можете. Определите два разных селектора CSS (с двумя разными фоновыми свойствами), а в некоторых методах измените идентификатор узла с нужным. –