繁体   English   中英

JavaFX 8 - 定位HBox的文本垂直中心

[英]JavaFX 8 - Positioning Text Vertical Center of HBox

我很难将文本放在HBox中。 我能够设置文本的水平对齐,但我无法设置文本的垂直对齐。 我试图在Hbox的垂直中心设置文本,但它出现在顶部。

任何帮助将非常感激。

// Create The Updates Progress Bar At The Bottom Of The Window
HBox checkUpdatesBar = new HBox();
checkUpdatesBar.setId("checkUpdatesBar");
checkUpdatesBar.setPrefSize(CHECK_PANE_WIDTH, CHECK_PANE_HEIGHT);
checkUpdatesBar.setMinSize(CHECK_PANE_WIDTH, CHECK_PANE_HEIGHT);
checkUpdatesBar.setMaxSize(CHECK_PANE_WIDTH, CHECK_PANE_HEIGHT);

// Create The 'Check For Updates...' Text
Text checkForUpdates = new Text();
checkForUpdates.setFont(Font.font("Arial Black", FontWeight.BLACK, 15));
checkForUpdates.setWrappingWidth(CHECK_PANE_WIDTH / 2.8);
checkForUpdates.setFill(Color.WHITE);
checkForUpdates.setTextAlignment(TextAlignment.CENTER);
checkForUpdates.setText("Checking For Updates ...".toUpperCase());

checkUpdatesBar.getChildren().add(checkForUpdates);

我的代码生成以下内容: http//puu.sh/ccEkp/41a26038a4.png

我喜欢我的水平定位。 我知道它不在中间,因为我将它设置为那样。 但是,我只关心垂直定位

我分别尝试了以下内容:

checkForUpdates.setLayoutY(20);
checkForUpdates.setY(20);

我选择数字20是因为我想将文本从HBox顶部向下移动20个像素。 我在Photoshop中计算了这个值。 虽然如果有更好的方法将文本设置为HBox的垂直中心,请赐教。

再次感谢您的帮助!

如果你只是想在中心定位文本HBox ,你可以使用alignment property的的HBox做到这一点。

将对齐设置为CENTER_LEFT ,以放置子项,从HBox 垂直空间的CENTER开始

checkUpdatesBar.setAlignment(Pos.CENTER_LEFT);

如果您使用的是SceneBuilder,请选择您的HBox,然后在“检查器”部分中,更改

属性:节点:对齐

值为CENTER_LEFT:

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM