Пользовательский интерфейс обновляется в Debug, но без него ничего не происходит - PullRequest
0 голосов
/ 13 января 2019

Я хочу заполнить таблицу данными.

Следующий код является двумя битами из контроллера, потому что я, к сожалению, не знаю, какая часть важна. Каждая функция должна взять список наблюдаемых, который был объявлен в основной фазе, и очистить его. Затем добавьте новые записи в соответствии с текущим состоянием массивов и, в конце, используйте 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);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...