2016-05-30 16 views
2

javafxでラベルのテキストをどのように配置することができますか? .cssスタイルシートまたはfxmlに直接。センターラベルをJavaFX/FXMLに揃える方法は?

私はLabel { -fx-text-alignment: center;}を.cssで試しましたが、うまくいきません。シーンビルダーでさえ、動作しません。

+0

FXMLのラベルの親は何ですか? – ItachiUchiha

+0

@ItachiUchiha AnchorPane –

+0

ラベルに複数行のテキストがありますか、テキストはすべて1行にありますか? –

答えて

8

あなたは基本的に2つの選択肢があります。

  1. 使用ラベルを中央に、ラベルはその「推奨サイズ」であるとすることができ、レイアウトペインを(つまり、テキストを保持するのに十分なだけ大きい)、または
  2. ラベルをコンテナの幅全体に塗りつぶし、配置プロパティをcenterに設定します。

コメントには、AnchorPaneをラベルの親として使用しています。これは通常、レイアウトペイン(通常、各コントロールの境界をハードコードする必要があります)には特に適していませんし、大量の作業を必要とせずにその中に配置することはできません。だから、親としてのアンカーペインで、あなたは、選択肢2に縮小されていますあまりにもFXMLで設定することができます明らかに

label.setMaxWidth(Double.MAX_VALUE); 
AnchorPane.setLeftAnchor(label, 0.0); 
AnchorPane.setRightAnchor(label, 0.0); 
label.setAlignment(Pos.CENTER); 

、すべてを。

一般的には、より適切なlayout paneを使用し、そのレイアウトペインで適切なプロパティを設定してラベルを中央に配置することをお勧めします。

+0

アンカーをありがとう、私はAnchorPaneをVBoxに変更しました:) –

+0

@James_D最初の行を追加しないとどうなりますか?私は1行を省略し、それは働いた。 – Halil

関連する問題