web-dev-qa-db-ja.com

JavaFXのラベルとテキストの違い

Javafx.scene.text.Textとjavafx.scene.control.Labelの違いは何ですか?

ドキュメントには次のように書かれています:

  • ラベルは編集不可のテキストコントロールです。
  • Textクラスは、テキストを表示するノードを定義します。

しかし、Labelクラスにはメソッド「setText」と「textProperty」があるため、編集可能です。

50
multiplayer1080

Harry Blargleが指摘したように、「編集不可」とは「ユーザーが編集不可」を意味します。そのため、ラベルとテキストの両方は編集できません。

ラベルとテキストには異なるCSSプロパティがあります。 LabelはLabeled、Control、およびRegionから継承します 。これは、Textにはない非常に多くのスタイル設定可能なプロパティを継承することを意味します。ラベルには、配置、グラフィック、背景、境界線、表示されたキーボードニーモニック、組み込みのラッピングがあり、 Ellipsis ( "…")でインテリジェントにクリップできます。

テキストは TextFlow に参加できます。 (技術的には、Labelも使用できますが、Labelは単なる別の埋め込みコントロールとして扱われ、テキストとしてはレイアウトされません。)

一般に、1つ以上の単語を入力コントロールの横に配置して入力コントロールの目的を示したい場合、および/または入力コントロールへの直接キーボードナビゲーションを許可したい場合は、ラベルを使用します。入力に関連付けられていないテキストコンテンツを表示する場合は、テキストを使用します。

72
VGR

Textは(RectangleやCircleのような)幾何学的図形であり、Labelは(ButtonやCheckBoxのような)UIコントロールです。

Swingでは、幾何学的図形はペイントメカニズムに制限されていましたが、JavaFXではより一般的な方法で使用できます。

14
Jan Bodnar

ラベル

  • ラベルには、ユーザーが直接変更または編集できないテキストまたは画像が表示されます。 *ラベルの画像を指定します。

テキストフィールド

  • TextFieldは、ユーザーが直接変更または編集できるテキストまたは画像を表示します。
  • テキストフィールドに画像を指定しないでください
0
Vaibhav Agarwal