По умолчанию изображение отображается inline, как буква.
Он сидит в той же строке, на которой сидят a, b, c и d.
Существует пространство ниже этой строки для descenders, которые вы найдете на таких буквах, как f, j, p и q.
Вы можете отрегулировать vertical-align
изображения, чтобы разместить его в другом месте (например, middle
) или изменить display
, чтобы он не был встроен.
Я знаю, что это старый вопрос
Но если вы хотите сделать это программно или java-способом
Для изображений фона; вы можете использовать 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));
Для Paint или Fill Backgrounds; вы можете использовать BackgroundFill class
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));
Сохраняет ваш java live & amp; & amp; & amp; ваш css мертв ..
Вы можете изменить стиль непосредственно для сцены, используя класс .root
:
.root {
-fx-background-image: url("https://www.google.com/images/srpr/logo3w.png");
}
Добавьте это в CSS и загрузите его как «Улук Бий», описанный в его ответе.
Один из подходов может быть таким:
1) Создайте файл CSS с именем «style.css» и определите в нем селектор id:
blockquote>#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>
Для получения дополнительной информации о стилях CSS JavaFX см. это руководство .