Как программно пройтись по значениям в TreeTableView?

279
27 апреля 2018, 15:29

JavaFX. Пишу программу, столкнулся с проблемой, есть кнопка по которой заполняется TreeTableView, по нажатии по другой нужно к определенной записи добавлять элемент, еще одна загвоздка в том что, элементы в TreeTableView добавляется асинхронно, т.е. процесс добавления постоянный при некотором событии. код добавления

rfid.getChildren().addAll(new TreeItem<>(new DataRfid(_rfid_id, _main)));

может к TreeItem можно сразу как-то привязывать ID, и уже по нему находить?

Answer 1

Мы можете обойти рекурсирвно все элементы и найти нужный по _rfid_id :

private TreeItem < DataRfid > find(TreeItem < DataRfid > root, int rfidId) {
    if (root.getValue()._rfid_id == rfidId) {
        return root;
    }
    for (TreeItem < DataRfid > child: root.getChildren()) {
        TreeItem < DataRfid > find = find(child, rfidId);
        if (find != null) {
            return find;
        }
    }
    return null;
}

Данный метод вернет первый TreeItem, у которого будет _rfid_id равный переданному rfidId, или null, если такого TreeItem не существует.

READ ALSO
Подстановка параметра PreparedStatement в JDBC Oracle

Подстановка параметра PreparedStatement в JDBC Oracle

Столкулся с тем, что данная конструкция подстановки параметра (:1) работает с драйвером Oracle:

252
Ограничение рерусров контейнера на aws ecs (Ошибка &ldquo;Java heap space&rdquo; при сортировке)

Ограничение рерусров контейнера на aws ecs (Ошибка “Java heap space” при сортировке)

Разворачиваю на AWS ECS контейнеры и пробую настроить оптимальную структуруДля тестирования запустил контейнер с сортировкой на 45млн элементов...

235
Уроки по Spring

Уроки по Spring

Посоветуйте хорошую литературу или видеоуроки по Spring Boot для расширенного изучения на русском языкеПодробно объясняющую книгу

251