简单地提问(希望如此)。 是否可以在JavaFX中使用CSS向ImageView添加填充?我没有运气就尝试过插页,填充等。
或者可以添加相同的效果文本对象。 已经探索过谷歌并没有取得什么成功,而不仅仅是让交易更加清晰。
谢谢。
答案 0 :(得分:6)
-fx-padding
是Region的属性。
ImageView
不是Region,因此,您无法在ImageView上直接使用填充。但是,您可以将ImageView放置在Region中,以在ImageView周围提供填充区域。
这是一个使用StackPane(它是一个支持样式的区域)的示例。填充是在FXML中指定的,但同样适用于CSS。
在示例中,图像周围的绿色边框是填充。
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.image.*?>
<?import javafx.scene.layout.*?>
<?import javafx.scene.paint.*?>
<StackPane id="StackPane" maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="-1.0" prefWidth="-1.0" style="-fx-background-color: forestgreen;" xmlns:fx="http://javafx.com/fxml/1" xmlns="http://javafx.com/javafx/2.2">
<children>
<ImageView fitHeight="150.0" fitWidth="200.0" pickOnBounds="true" preserveRatio="true">
<image>
<Image url="http://www.corwellphotography.net/image/2223982.jpeg" />
</image>
</ImageView>
</children>
<padding>
<Insets bottom="10.0" left="10.0" right="10.0" top="10.0" />
</padding>
</StackPane>
由于StackPane或Region可以包含任何类型的节点,因此该技术同样适用于任何类型的节点(不仅仅是ImageViews)。