2017-06-09 1 views
0

J'ai un gros problème avec la visualisation des fichiers arff dans la vue table javaFX. Mon code:JavaFX tableView le contenu de wekaapi est manquant

ArffLoader loader = new ArffLoader(); 
    loader.setFile(arff); 
    Instances data = loader.getDataSet(); 
    List<TableColumn<Instance, String>> atrributes = new ArrayList<>(); 
    for (int i = 0; i < data.numAttributes(); i++) { 
       atrributes.add(new TableColumn<Instance,String>` (data.attribute(i).name())); 

    } 
    List <Instance> instances = new ArrayList<>(); 
    for (int i =0;i<data.size();i++) 
    { 
     instances.add(data.get(i)); 
    } 
    ObservableList<Instance> tableContent = FXCollections.observableArrayList(instances); 
    table.getColumns().removeAll(); 
    table.getColumns().addAll(atrributes); 
    table.setItems(tableContent); 
    table.setVisible(true); 

noms de colonnes (attributs) sont réglés correctement, mais concours ne sont pas shwon (Variable tableContent) Vous

Répondre

0

besoin de définir une usine de valeur de la cellule pour chaque colonne de table. C'est une fonction qui mappe le Instance dans chaque ligne à la valeur à afficher dans la cellule correspondante dans cette colonne.

Je ne suis pas familier avec Weka, mais en regardant le Javadocs, je pense que vous avez besoin

for (int i = 0; i < data.numAttributes(); i++) { 
    TableColumn<Instance, String> column 
     = new TableColumn<Instance,String>(data.attribute(i).name()); 
    final int attIndex = i ; 
    column.setCellValueFactory(cellData -> 
     new SimpleStringProperty(cellData.getValue().toString(attIndex))); 
    atrributes.add(column); 

}