JavaFX图像填充

时间:2015-09-25 21:49:01

标签: java css javafx-8

简单地提问(希望如此)。 是否可以在JavaFX中使用CSS向ImageView添加填充?我没有运气就尝试过插页,填充等。

或者可以添加相同的效果文本对象。 已经探索过谷歌并没有取得什么成功,而不仅仅是让交易更加清晰。

谢谢。

1 个答案:

答案 0 :(得分:6)

  

-fx-paddingRegion的属性。

ImageView不是Region,因此,您无法在ImageView上直接使用填充。但是,您可以将ImageView放置在Region中,以在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或Region可以包含任何类型的节点,因此该技术同样适用于任何类型的节点(不仅仅是ImageViews)。