将TextFlow中的文本对齐到中心 - JavaFX FXML& CSS

时间:2015-05-01 10:22:27

标签: java javafx javafx-2 fxml javafx-css

目前我在FXML中使用Text定义了一段文本。它也位于ScrollPane内的TextFlow内。我已经尝试将文本对齐到FXML本身和css的中心,但仍然没有看到它正在工作。这是FXML

<ScrollPane fx:id = "scrollPane">
     <content>
         <TextFlow styleClass="txtFlow">
               <children>
                    <Text styleClass="h1" text="Title" textAlignment="CENTER"/>
                    <Text styleClass="h2" text="&#10;Subtitle"/>
              </children>
          </TextFlow>
    </content>
</ScrollPane>

这是CSS

.h1{
-fx-font-family: "Helvetica";
-fx-font-size: 50px;
-fx-fill: #147cb0;
-fx-underline: true;
-fx-alignment: center; }

2 个答案:

答案 0 :(得分:1)

要在TextFlow中对齐文本,请使用

<TextFlow textAlignment="CENTER"> .... </TextFlow>

要对齐ScrollPane的内容,请使用

<ScrollPane fx:id = "scrollPane" fitToWidth="true"> .... </ScrollPane>

答案 1 :(得分:1)

添加到@Uluk的答案,您也可以使用TextFlow上的样式使用css实现此目的。

<TextFlow style="-fx-text-alignment: center;">

您还可以使用css文件和styleclass来获得所需的效果。

<TextFlow styleClass="txtFlow">

并在css文件中,

.txtFlow {
    -fx-text-alignment: center;
}