2015-09-25 173 views
2

只是问题(希望)。 是否可以在JavaFX中使用CSS将填充添加到ImageView中?我试过插入,填充等没有任何运气。JavaFX图像填充

或者,也可以将相同的效果添加到文本对象中。 已经探索谷歌并没有什么成功,不是一个交易破坏者只是让事情变得更清洁。

谢谢。

回答

4

-fx-paddingRegion的财产。

ImageView不是地区,因此,您不能直接在ImageView上使用填充。但是,您可以将ImageView放置在区域中以在ImageView周围提供填充区域。

这里是一个使用StackPane(这是一个风格能力的区域)的示例。填充在FXML中指定,但同样适用于CSS。

sample

在样本图像周围的绿色边框是填充。

<?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或地区可以包含任何类型的节点,该技术同样适用于任何类型的节点(不只是ImageViews)。