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