Comment dois-je remplir un JavaFX ChoiceBox avec les données de la Base de données?
private void initialize() {
loadPersistenceContext();
List<Events> events = getEventsChoiceBox(getPersistenceContext());
ObservableList<Event> data = FXCollections.observableList(events);
cbEvent.setItems(data); //Inserting data into the ChoiceBox
}
C'est mon code principal. Le problème est lorsque le formulaire est chargé, je reçois les Objets insérés dans le ChoiceBox et pas les propriétés.
C'est le contenu de ma Liste d'Événements
Object[]
|- String
|- Integer
Object[]
|- String
|- Integer
Alors je veux un ChoiceBox avec cette Chaîne de propriété de s'afficher et le nombre Entier mappé à mon contrôleur.
J'ai essayé beaucoup de choses mais ne pouvait pas le comprendre.
Je trouve ça un peu difficile à comprendre votre question, mais de voir si cette exemple de JavaFX ChoiceBox contrôle soutenu par l'Id de Base de données aide car il me semble résoudre un peu le même problème pour ce que vous demandez.
Je sais que c'était un peu confus parce que je ne savait pas comment l'exprimer clairement, mais l'exemple a beaucoup aidé! merci beaucoup! 🙂
Je sais que c'était un peu confus parce que je ne savait pas comment l'exprimer clairement, mais l'exemple a beaucoup aidé! merci beaucoup! 🙂
OriginalL'auteur renatojf | 2013-03-21
Vous devez vous connecter pour publier un commentaire.
Voir cet exemple d'un JavaFX ChoiceBox contrôle soutenu par l'Id de Base de données.
L'exemple des œuvres de la définition d'un Choix de classe, composée d'une base de données d'ID de ligne et une représentation de chaîne de l'élément à afficher dans la boîte de Choix. La valeur par défaut
toString
méthode de Choix est remplacée par une implémentation personnalisée qui renvoie une représentation sous forme de chaîne de l'élément à être affiché et non pas l'ID de base de données. Lorsque vous ajoutez le choix de la ChoiceBox, le ChoiceBox vous permet de convertir chaque Choix dans une chaîne de caractères pour l'affichage. L'affichage de la chaîne de valeur de ce Choix est juste le choix du texte plutôt que de aussi, y compris l'ID de base de données ou utiliser la valeur par défauttoString
de Choix qui lui permettra d'afficher un sens de l'objet de référence.Sortie de choicebox exemple d'application:
Également envisager un Zone de liste déroulante une telle mise en œuvre, car elle a un des mécanismes intégrés pour résumé les valeurs des nœuds à partir de l'affichage des nœuds (par l'intermédiaire d'un CellFactory). L'utilisation d'un
ComboBox
est cependant souvent plus complexe qu'unChoiceBox
.OriginalL'auteur jewelsea
Ici est une simple mise en œuvre de forums.oracle.com
Créer une classe pour clé - valeur
Ensuite créer le ChoiceBox:
Remplir les éléments;
Astuce: Retrive paire clé-valeur à partir de votre base de données dans une liste de tableaux et de réitérer
Pour récupérer la valeur:
OriginalL'auteur Hirosh Wickramasuriya
Ou tout simplement faire:
myChoiceBox.setConverter(myStringConverter)
, en passant une instance de votre propre sous-classe dejavafx.util.StringConverter
(JavaDoc).Substitution de la toString (et fromString) vous donne le plein contrôle sur la façon dont votre objet est affiché sans avoir à mettre en œuvre un
toString
dans l'objet lui-même.OriginalL'auteur Terje Dahl