Was ist der Unterschied zwischen javafx.scene.text.Text und javafx.scene.control.Label?
Die Dokumentation sagt:
- Label ist ein nicht bearbeitbares Textsteuerelement.
- Die Klasse Text definiert einen Knoten, der einen Text anzeigt.
Aber die Label-Klasse hat eine Methode “setText” und “textProperty”, ist also editierbar.
Wie Harry Blargle betonte, bedeutet „nicht bearbeitbar“ „vom Benutzer nicht bearbeitbar“. Sowohl Label als auch Text können also nicht bearbeitet werden.
Label und Text haben unterschiedliche CSS-Eigenschaften. Label erbt von Labeled, Control und Region, was bedeutet, dass es viele gestaltbare Eigenschaften erbt, die Text nicht hat. Ein Label kann eine Ausrichtung, eine Grafik, einen Hintergrund, einen Rahmen, eine angezeigte Tastatur-Mnemonik, einen integrierten Umbruch haben und kann mit einem intelligent beschnitten werden Ellipse („…“).
Text kann an einer teilnehmen Textfluss. (Technisch gesehen kann Label das auch, aber es wird nur als ein weiteres eingebettetes Steuerelement behandelt und nicht als Text angelegt.)
Wenn Sie den Zweck eines Eingabesteuerelements anzeigen möchten, indem Sie ein oder mehrere Wörter daneben platzieren, und/oder die direkte Tastaturnavigation zu einem Eingabesteuerelement ermöglichen möchten, verwenden Sie im Allgemeinen ein Label. Wenn Sie Textinhalte anzeigen möchten, die nicht der Eingabe zugeordnet sind, verwenden Sie Text.
EIN Text
ist eine geometrische Form (wie ein Rechteck oder ein Kreis), während
Label
ist ein UI-Steuerelement (wie ein Button oder ein Kontrollkästchen).
In Swing waren geometrische Formen auf den Malmechanismus beschränkt, während sie in JavaFX auf allgemeinere Weise verwendet werden können.
nicht bearbeitbar bedeutet in diesem Zusammenhang, dass Sie es nicht auf dem Bildschirm bearbeiten können, es bedeutet nicht, dass Sie es nicht programmgesteuert bearbeiten können.
– Harry Blargle
23. Juni 2014 um 20:42 Uhr
Ein Unterschied ist die Position in einer Gruppe. Wenn Sie einen Text hinzufügen, wird er über der Gruppe platziert und Label wird innerhalb platziert …
– Multiplayer1080
24. Juni 2014 um 0:23 Uhr