我需要一些帮助。你如何将文本集中在HBox中。我正在使用SceneBuilder。我尝试了,但我无法弄明白该怎么做。
以下是FXML的代码。
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.Insets?>
<?import javafx.geometry.Point3D?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.HBox?>
<?import javafx.scene.text.Text?>
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="1200.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1">
<top>
<HBox prefHeight="50.0" prefWidth="800.0" BorderPane.alignment="CENTER">
<children>
<Text boundsType="LOGICAL_VERTICAL_CENTER" layoutX="600.0" layoutY="600.0" scaleZ="0.0" strokeType="OUTSIDE" strokeWidth="0.0" text="GIANTS DATABASE" textAlignment="CENTER" textOrigin="CENTER" wrappingWidth="231.7841796875" x="600.0" y="600.0">
<rotationAxis>
<Point3D x="1.0" y="1.0" z="1.0" />
</rotationAxis>
</Text>
</children></HBox>
</top>
<right>
<TableView prefHeight="550.0" prefWidth="577.0" BorderPane.alignment="CENTER">
<columns>
<TableColumn minWidth="0.0" prefWidth="72.0" text="Rank" />
<TableColumn editable="false" minWidth="0.0" prefWidth="206.0" text="Name" />
<TableColumn editable="false" minWidth="0.0" prefWidth="88.0" text="Position" />
<TableColumn minWidth="0.0" prefWidth="77.0" text="School" />
<TableColumn minWidth="0.0" prefWidth="66.0" text="Age" />
<TableColumn minWidth="0.0" prefWidth="66.0" text="War" />
</columns>
</TableView>
</right>
<opaqueInsets>
<Insets />
</opaqueInsets>
<padding>
<Insets bottom="3.0" right="3.0" />
</padding>
我想要居中的文字是 GIANTS DATABASE ,在HBox儿童下
以下是javaFX的代码
public class Login extends Application {
@Override
public void start(Stage primaryStage) {
try {
Parent root = FXMLLoader.load(getClass().getResource("/giants/LoginF.fxml"));
Scene scene = new Scene(root);
primaryStage.setTitle("Giants Database Login");
primaryStage.setScene(scene);
primaryStage.show();
}
catch (Exception e) {
}
}
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
launch(args);
}
}
以下是文字* GIANTS DATABASE 的图片。我希望将文本置于箭头指向的位置**
答案 0 :(得分:0)
删除bounds
节点上的layoutX/Y
,rotation
和Text
设置 - 不需要它们。您要查找的是HBox
alignment
属性 - 将其设置为Pos.CENTER
将在中心垂直和水平布局HBox
的子项。如果您想将其保留在左侧,请使用Pos.CENTER_LEFT
。
您的问题也不清楚您是否希望HBox这么高 - 将prefHeight
的{{1}}更改为HBox
以获得它可能会有所帮助匹配Region.USE_COMPUTED_SIZE
音符的大小(加上其中任何一个上设置的任何填充/边距)。