【问题标题】:JavaFX image paddingJavaFX 图像填充
【发布时间】:2015-09-25 21:49:00
【问题描述】:

简单的问题(希望如此)。 是否可以在 JavaFX 中使用 CSS 向 ImageView 添加填充?我已经尝试过插入、填充等,但没有任何运气。

添加文本对象也可以达到同样的效果。 探索过 Google,但收效甚微,不是破坏交易,只是让事情变得更干净一些。

谢谢。

【问题讨论】:

    标签: java css javafx-8


    【解决方案1】:

    -fx-paddingRegion 的属性。

    ImageView 不是区域,因此,您不能直接在 ImageView 上使用填充。但是,您可以将 ImageView 放置在一个区域中,以在 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)。

    【讨论】:

      猜你喜欢
      • 2018-11-22
      • 2018-06-04
      • 2019-04-02
      • 2017-11-10
      • 2018-07-03
      • 2014-10-08
      • 2018-10-14
      • 2013-12-28
      相关资源
      最近更新 更多