UI会在Debug中不断更新,但是没有更新

时间:2019-01-12 23:57:11

标签: java javafx

我想用数据填充表。

下面的代码是控制器的两位,因为可悲的是我不知道哪一部分很重要。 每个函数都应该采用在主阶段声明的Observable List并将其清除。 然后根据数组的当前状态添加新条目,最后使用populate()为其填充表。

但这有时会失败。数据已添加到数组中,但未在表中显示。 有谁知道这可能是什么原因?

public void showAll() {

    //Clear existing data
    Main.data = FXCollections.observableArrayList();
    //add new data on base of the arrays
    for (int i = 0; i < Main.array_anz.length; i++) {
        if (Main.array_pla[i] != 0) {
            Main.data.add(new Article(Main.array_bez[i], Main.array_pla[i], Main.array_gew[i], Main.array_pre[i], Main.array_anz[i], Main.array_kat[i]));
        } else {
            i++;
        }
    }
    //Show the data in the table
    populate();
}





private void populate() {
    ArtikelbezeichnungTable.setCellValueFactory(new 
PropertyValueFactory<Article, String>("artikelbezeichnung"));
    LagernummerTable.setCellValueFactory(new PropertyValueFactory<Article, 
Integer>("lagernummer"));
    GewichtTable.setCellValueFactory(new PropertyValueFactory<Article, 
Double>("gewicht"));
    AnzahlTable.setCellValueFactory(new PropertyValueFactory<Article, 
Integer>("anzahl"));
    KategorieTable.setCellValueFactory(new PropertyValueFactory<Article, 
String>("kategorie"));
    StorageTable.setItems(Main.data);
}

0 个答案:

没有答案