SimpleStringProperty et SimpleIntegerProperty TableView JavaFX
Donc je suis en train d'apprendre comment utiliser JavaFx Tableview et je stumpled à travers ce tutoriel:
dans ce tutoriel, ils montrent que, dans le but de vous remplir tableView vous devez le remplir avec des Chaînes, mais pas n'importe quelle Chaîne de caractères, vous devez formater vous String
à un SimpleStringProperty
j'ai essayé sans le format et le résultat a été qu'aucune information ne serait montrer!
Aussi j'ai trouvé que si vous souhaitez ajouter une Integer
à la table, vous devez le déclarer comme un SimpleIntegerProperty
Maintenant, je suis assez nouveau à JavaFx, mais est-ce à dire que lorsque je crée un objet je dois formater tout mon Entiers et des Chaînes de caractères pour être en mesure de remplir ma TableView? il semble plutôt stupide, mais peut-être qu'il est un but plus élevé? ou est-il un moyen de l'éviter?
Je suis d'accord ces tutoriels ne pas montrer beaucoup de fonctionnalités et rubriques.
OriginalL'auteur Marc Rasmussen | 2012-11-14
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin d'utiliser les Propriétés dans votre tableau d'objets de données pour les afficher, bien que l'utilisation de Propriétés, dans certaines circonstances, est souhaitable.
Le code suivant affiche un tableau de personnes sur la base d'une Personne de la classe qui n'a que des champs de type Chaîne.
Explication
Le but d'utiliser les Propriétés et ObservableLists est que ce sont des écoutable éléments. Lorsque les propriétés sont utilisées, si la valeur d'un attribut de propriété dans le modèle de données change, la vue de l'élément dans la TableView est automatiquement mis à jour pour correspondre à la mise à jour du modèle de données de la valeur. Par exemple, si la valeur d'un courriel de la personne responsable de la propriété est définie sur une valeur nouvelle, cette mise à jour sera reflété dans le TableView, car il est à l'écoute pour le changement de propriété. Si, au contraire, une Chaîne simple avait été utilisée pour représenter l'e-mail, la TableView ne rafraîchissait pas qu'il serait inconscient de e-mail les modifications de valeur.
La PropertyValueFactory documentation décrit ce processus en détail:
Mise à jour
Ici est un contraste exemple pour le premier exemple qui montre comment une TableView peut observer et d'actualiser automatiquement en fonction des modifications qu'il est ObservableList des articles et des changements de la valeur d'une propriété en fonction d'attribut d'élément.
Ajout d'une citation de la PropertyValueFactory à la réponse à l'adresse de Marc question supplémentaire.
sera le tableau de mise à jour automatiquement lorsque l'un des propertys sont changé et si oui, comment faites-vous? ne vous modifiez la liste ou le jeu de la valeur de l'objet.setName() (par exemple)
A ajouté un autre exemple pour montrer comment obtenir une table à mettre à jour automatiquement lorsque la valeur d'une propriété est modifiée ou la liste de sauvegarde de la tableview est modifié.
il est nécessaire convention de nommage, comme décrit dans les JavaBeans. docs.oracle.com/javase/8/javafx/properties-binding-tutorial/... dans ce lien aller à la Compréhension de la Propriété'
OriginalL'auteur jewelsea