web-dev-qa-db-fra.com

Différences entre les libellés et les textes dans JavaFX

Quelle est la différence entre javafx.scene.text.Text et javafx.scene.control.Label?

La documentation dit: 

  • Label est un contrôle de texte non éditable. 
  • La classe Text définit un nœud qui affiche un texte.

Mais la classe Label a une méthode "setText" et "textProperty", elle est donc éditable.

46
multiplayer1080

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.

67
VGR

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.

13
Jan Bodnar

Étiquettes

  • Une étiquette affiche du texte ou une image que l'utilisateur ne peut pas modifier ou modifier directement . * Spécifier l'image pour l'étiquette.

Champs de texte

  • Un TextField affiche un texte ou une image que l'utilisateur peut directement modifier ou éditer.
  • ne spécifiez pas d'image pour le champ de texte
0
Vaibhav Agarwal