La liaison hashmap avec tableview (JavaFX)
Je veux afficher HashMap
contenu dans un JavaFX Tableview
. Veuillez trouver ci-dessous le code que j'ai utilisé pour définir la HashMap
contenu dans les colonnes de la table. Le problème que je vais avoir, c'est que c'est l'affichage d'une seule ligne. Le for
boucle est une itération seulement 5 fois: à chaque fois, c'est la cueillette jusqu'à la première valeur de la HashMap
.
Si j'ignore la return SimpleObjectProperty
ligne, le for
boucle est de parcourir tout le contenu dans le HashMap
.
final ObservableList<Map> data = FXCollections.observableArrayList();
data.addAll(HASHMAP);
TableColumn<Map.Entry, String> nCol = new TableColumn<Map.Entry, String>("Name");
nCol.setEditable(true);
nCol.setCellValueFactory(new Callback<TableColumn.CellDataFeatures<Entry, String>, ObservableValue<String>>() {
@Override
public ObservableValue<String> call(TableColumn.CellDataFeatures<Entry, String> p) {
Set <String> set=HASHMAP.keySet();
for (String key:HASHMAP.keySet())
{
String key1= key.toString();
return new SimpleObjectProperty<>(key.toString());
}
return null;
}
});
Table.setItems(data);
Table.getColumns().setAll(nCol,.........);
OriginalL'auteur mani | 2013-09-04
Vous devez vous connecter pour publier un commentaire.
CellFactory.Callback.call()
crée une seule cellule, toutes les cellules dans une bouclereturn
à partir d'une boucle sauts de l'exécution de la boucle.Prendre un coup d'oeil à l'exemple suivant, en particulier les commentaires:
qu'entendez-vous par plusieurs valeurs?
Map<String, List<Integer>> map = new HashMap<String, List<Integer>>(); pour, par exemple, cette carte contient {un=[1, 11, 12],deux=[2, 21, 22]}
yep, vous avez juste besoin d'introduire plus de colonnes et cellvaluefactories avec un code comme:
return new SimpleStringProperty(p.getValue().getValue().get(INDEX)
.Sommes-nous en mesure de définir la limite sur le Nombre de contenu à extraire de la carte et de les afficher dans la vue tableau.? (E. g. : Récupérer uniquement la première des dix ou vingt valeur de la carte)
OriginalL'auteur Sergey Grinev
Sergey Grinev; j'ai trouvé une solution, une solution générique pour ce problème
Très Merci!!! 🙂
OriginalL'auteur Michele Genchi