Quelle est la différence entre javafx.scene.text.Text et javafx.scene.control.Label?
La documentation dit:
Mais la classe Label a une méthode "setText" et "textProperty", elle est donc éditable.
Comme Harry Blargle l'a souligné, "non modifiable" signifie "non modifiable par l'utilisateur". Ainsi, les étiquettes et le texte ne sont pas modifiables.
Label et Text ont des propriétés CSS différentes. Label hérite de Labeled, Control et Region , ce qui signifie qu'il hérite d'un grand nombre de propriétés de style que Text n'a pas. Une étiquette peut avoir un alignement, un graphique, un arrière-plan, une bordure, une mnémonique pour clavier affichée, un habillage intégré et peut être intelligemment découpée avec un Ellipsis ("…").
Le texte peut participer à un TextFlow . (Techniquement, Label le peut aussi, mais il est traité comme un simple contrôle intégré et n'est pas présenté comme du texte.)
En général, si vous voulez montrer le but d'un contrôle de saisie en y plaçant un ou plusieurs mots et/ou autoriser la navigation directe au clavier vers un contrôle de saisie, vous utilisez une étiquette. Si vous souhaitez afficher du contenu texte non associé à une entrée, utilisez Text.
Text
est une forme géométrique (comme un rectangle ou un cercle), alors que Label
est un contrôle d'interface utilisateur (comme un bouton ou un contrôle).
Dans Swing, les formes géométriques étaient limitées au mécanisme de peinture, alors que, dans JavaFX, elles pouvaient être utilisées de manière plus générique.
Étiquettes
Champs de texte