2013-10-08 2 views
1

У меня есть два класса: gui и класс с такими переменными, как tab [] []. Я хочу использовать динамику JTable, мне нужно использовать TableModelListner, но я не знаю, что мне делать, например, когда моя таблица будет обновляться:Java Dynamic Jtable

вкладка [1] [0] i изменение в графическом интерфейсе и значение вкладки [1] [1], вкладка [1] [2], вкладка [1] [3] будут новыми.

table = new JTable(classone.tab,columnsN); 
    table.setPreferredScrollableViewportSize(new Dimension(500,150)); 
    table.setFillsViewportHeight(true); 
    JScrollPane scrollPane = new JScrollPane(table); 
    add(scrollPane); 
+0

'Java Dynamic Jtable' есть не то, что с' TableModelListner', XxxTableModel несет ответственность за проведение и уведомлять какие-либо изменения, TableModelListener стрельбы только часть этих событий – mKorbel

+0

тур вопрос не ясен. особенно подробно рассмотрим эту часть: 'tab [1] [0] i изменение в графическом интерфейсе и значение вкладки [1] [1], вкладка [1] [2], вкладка [1] [3] будут новыми' – Sage

ответ

1

У меня есть два класса: графический интерфейс и класс с переменными, такими как вкладке [] []

После создания JTable вы НИКОГДА не следует вкладке [] [] ссылка снова. Массив будет использоваться для создания DefaultTableModel. Если вы хотите сделать динамические изменения, вы ДОЛЖНЫ изменить таблицуModel.

Чтобы добавить новые строки данных, которые можно использовать

model.addRow(...); 
model.insertRow(....); 
model.removeRow(...); 

Прочитайте API DefaultTableModel для других методов.

Чтобы изменить существующие данные, которые вы будете использовать:

table.setValueAt(...); 
+0

! [экран GUI] [1] [1]: http://i.stack.imgur.com/eyMct.png значение редактировать Я в первом ряду, например, 100 до 140, и значение покоя должно измениться, потому что они зависят от значения, которое было отредактировано. Что мне делать? – user2458768

+0

Напишите вам TableModelListener, а затем используйте метод setValueAt() по мере необходимости. Или переопределите метод setVAlueAt (..) в TableModel и обновите данные по мере необходимости. – camickr