2011-08-30 5 views
2

C'est tout ce dont j'ai besoin pour finir de répondre my last question.JavaFX 2: Tables: Mettre à jour l'affichage après avoir mis à jour les données

Si vous regardez ma dernière question, vous verrez ma classe, contenant quatre champs, correspondant aux quatre colonnes de ma table

public static class ContactOptions { 

    private final StringProperty one; 
    private final StringProperty two; 
    private final StringProperty three; 
    private final StringProperty four; 

    ContactOptions(String col1, String col2, String col3, String col4) { 
     this.one = new StringProperty(col1); 
     this.two = new StringProperty(col2); 
     this.three = new StringProperty(col3); 
     this.four = new StringProperty(col4); 
    } 

    public String getOne() { 
     return one.get(); 
    } 

    public String getTwo() { 
     return two.get(); 
    } 

    public String getThree() { 
     return three.get(); 
    } 

    public String getFour() { 
     return four.get(); 
    } 
} 

Comment puis-je obtenir l'interface graphique mise à jour après que je lance ContactOptions.one.set?

Lorsque je fais défiler vers le bas et sauvegarder, il met à jour. Comment puis-je l'obtenir pour mettre à jour sans faire défiler.

J'ai également demandé à ce https://forums.oracle.com/forums/thread.jspa?threadID=2275725

Répondre

2

Peut-être que vous devriez utiliser une des méthodes suivantes:

updateTableColumn(TableColumn col) 

mises à jour du TableColumn associé à ce TableCell.

updateTableRow(TableRow tableRow) 

Met à jour le TableRow associé à cette TableCell.

updateTableView(TableView tv) 

Met à jour le TableView associé à cette TableCell.

(De http://docs.oracle.com/javafx/2.0/api/javafx/scene/control/TableCell.html)

Mais je pense que vous avez déjà traité ce problème)

+0

Oui, j'ai traité cet article. Mais ne pas utiliser ces méthodes. On dirait juste ce dont j'avais besoin. – Dorothy

1

Quelle version de JavaFX 2.0 utilisez-vous? La raison pour laquelle je demande est que les tables ont changé récemment et je veux m'assurer que vous utilisez la dernière version.

2

Pour les mises à jour de travailler en toute transparence, vous devez initialiser chaque propriété et ajouter la méthode xxxProperty:

private final StringProperty one = new SimpleIntegerProperty(); 

public StringProperty oneProperty() { 
    return one; 
} 

D'après ma propre expérience, n'utilisez pas les noms de propriétés en utilisant des lettres majuscules, comme "myOne" ou "myONE", car la méthode xxxProperty ne fonctionnera pas.

Questions connexes