web-dev-qa-db-ja.com

JavaFX 8-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

私は自分の水平ポジショニングが好きです。そのように設定したので、途中ではないことを知っています。ただし、私はVertical Positioningだけに関心があります。

私は以下を別々に試しました:

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

TextをHBoxの上部から20ピクセル下に移動したいので、数字20を選択しました。 Photoshopでこの値を計算しました。ただし、テキストをHBoxの垂直方向の中央に設定するより良い方法がある場合は、教えてください。

すべての助けてくれてありがとう!

16
Sameer

HBoxの中央にテキストを配置するだけの場合は、HBoxalignment propertyを使用して実行できます。

配置をCENTER_LEFTとして設定し、HBoxのCENTERから始まる子を配置します垂直スペース

checkUpdatesBar.setAlignment(Pos.CENTER_LEFT);
38
ItachiUchiha