Форум программистов, компьютерный форум, киберфорум
Java: GUI, графика
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 Аватар для ][irurg
181 / 180 / 38
Регистрация: 16.06.2010
Сообщений: 511

Обновить tableView после изменения ArrayList

10.12.2013, 18:49. Показов 3344. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно обновлять tableView , так работает но криво, как сделать по другому (не изменяя класс Data) ?

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
[SPOILER]
package javafxapplication7;
 
import java.util.ArrayList;
import java.util.Observable;
import java.util.Observer;
import javafx.application.Application;
import javafx.application.Platform;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
 
public class JavaFXApplication7 extends Application implements Observer {
    TableView<Data> tableView;
    ArrayList<Data> dataList;
 
    @Override
    public void start(Stage primaryStage) {
        StackPane root = new StackPane();
        tableView = new TableView<Data>();
        root.getChildren().add(tableView);
        Scene scene = new Scene(root, 300, 250);
        primaryStage.setTitle("Hello World!");
        primaryStage.setScene(scene);
        primaryStage.show();
 
        dataList = new ArrayList<Data>();
 
        TableColumn<Data, Integer> colId = new TableColumn("id");
        colId.setCellValueFactory(new PropertyValueFactory<Data, Integer>("id"));
        tableView.getColumns().add(colId);
 
        TableColumn<Data, Integer> colX = new TableColumn("X");
        tableView.getColumns().add(colX);
 
        tableView.setItems(FXCollections.observableArrayList(dataList));
        dataList.add(new Data(this));
        ObservableList<Data> data = FXCollections.observableArrayList(dataList);
        tableView.setItems(data);
    }
 
    @Override
    public void update(Observable o, Object arg) {
        System.out.println("update");
        Platform.runLater(new Runnable() {
            @Override
            public void run() {
                tableView.getColumns().get(0).setVisible(false);
                tableView.getColumns().get(0).setVisible(true);
            }
        });
    }
 
    public static void main(String[] args) {
        launch(args);
    }
}[/SPOILER]
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
[SPOILER]package javafxapplication7;
 
import java.util.Observable;
import java.util.Observer;
import java.util.logging.Level;
import java.util.logging.Logger;
 
public class Data extends Observable {
    private int id;
    Thread thread;
 
    public Data(Observer o) {
        this.addObserver(o);
        start();
    }
    public int getId() {
        return id;
    }
 
    public void start() {
        thread = new Thread(new Runnable() {
            @Override
            public void run() {
                for (int i = 1; i < 10; i++) {
                    id = i;
                    setChanged();
                    notifyObservers();
                    try {
                        Thread.sleep(2000);
                    } catch (InterruptedException ex) {
                        Logger.getLogger(Data.class.getName()).log(Level.SEVERE, null, ex);
                    }
                }
            }
        });
        thread.start();
    }
}[/SPOILER]
Вложения
Тип файла: zip JavaFXApplication7.zip (256.2 Кб, 2 просмотров)
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.12.2013, 18:49
Ответы с готовыми решениями:

Как обновить выборку после изменения html?
Проблема в следующем... Изначально есть несколько div элементов на странице, все они попадают в переменную photo при помощи var photo =...

Не могу обновить RecyclerView после изменения item
данные для списка берутся из Firebase, у DatabaseReference//Firebase, есть два метода: onChildAdd и onChildChanged, первый...

Как обновить GridView после изменения SELECT в SqlDataSource?
Здравствуйте. Работаю с компонентом GridView, связанным с SQLDataSource. В SQLDataSource свойство Select command примерно такое: SELECT...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.12.2013, 18:49
Помогаю со студенческими работами здесь

Как обновить базу MySQL после изменения в QTableView ?
Привет всем. 1. как можно настройть TQableView так, чтобы можно было изменить базу данных? 2. Как можно обновить базу данных MySQL...

ConfigurationManager.AppSettings как после изменения обновить значения в файле
сохраняю настройки следующим образом ConfigurationManager.AppSettings = this.tbServerDB.Text; ...

Как обновить dataset после изменения структуры базы данных сервере sql
Здравствуйте, пишу приложение на c#. Подключаюсь к базе данных через сервер ms sql. Допустим есть таблица rabochie с полями(Имя, Фамилия,...

Как обновить TableView делая свайп вверх ?
Добрый день! Аналогично как у приложения вк например. делаем свайп вверх содержимого таблицы, отображается loader и надпись please...

DataGrid+ObjectDataProvider+DataTable после изменения источника обновить DataGrid
Окно с DataGrid 1. В ресурсах окна объявлен Instance датапровайдера с методом, возвращающим DefaultView для таблицы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru