Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> JTable + JComboBox, вывод таблицы при выборе в КомбоБоксе 
:(
    Опции темы
XClan
Дата 3.12.2004, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: нет
Всего: 3



Ну вот у меня очередная проблема возникла....

Не могу забрать и сохранить с таблицы данные при выборе другого элемента в JComboBox
---
То есть я добавлял в таблицу при допустим 2 индексе в JComboBox и при попытке перейти на 3 индекс таблица должна как бы онулироваться помня , что принадлежала она 2 индексу...и выведа записи 3-го индекса!!!
---
Так вот я не знаю как забрать данные с таблиц!!!! и сравнить с прошлыми записями!! если есть разница выводит JOptionPane c предупреждением о сохранении ( кнопка YES и NO ).
Вот как забрать с таблицы и сравнивать??
Я знаю как сравнивать например методом
Код

...
boolean checked=false;
       if(ifpar.getIfType().compareTo(TypeCombo.getSelectedItem()) != 0)
           checked=true;
...


а в случае таблицы????


--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
Domestic Cat
Дата 3.12.2004, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 13
Всего: 172



Храни где-нибудь, какие данные сейчас в таблице. Например, если комбобокс содержит

Employees
Customers
Contacts

тo вводишь переменныю

Код

String currentData

Когда юзер выбирает из комбобокса ч-нибудь, сравнивай с currentDatа, если значения разные, делай чтo нужно(загрузка таблицы, сохранение старой) и записывай в currentData новое знач ение.


--------------------

PM   Вверх
XClan
Дата 3.12.2004, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: нет
Всего: 3



Я понял!! В моем случае currentDev но как с таблицы брать-то??


--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
Domestic Cat
Дата 3.12.2004, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 13
Всего: 172



чего с таблицы брать? smile


--------------------

PM   Вверх
XClan
Дата 3.12.2004, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: нет
Всего: 3



Код

if(currentDev.getAllIfTypesList().equals((DefaultListModel)SysTable.getModel().getValueAt()) != 0)
           checked=true;

так ???


--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
Domestic Cat
Дата 3.12.2004, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 13
Всего: 172



Понял. Лучше всего будет создать свою модель для таблицы (наследующую от DefaultTableModel)- в ней храниt' положенные туда данные, например в массиве. К этому классу можно будет дописать метоd типa Object[][] getData() - и брать оттуда все данные как двумерный массив. Тогда сравниват' будет легко.


--------------------

PM   Вверх
XClan
Дата 3.12.2004, 18:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: нет
Всего: 3



То есть мне надо создать ещё одну модель??
Ту а так небольшой примерчик можно??


--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
Domestic Cat
Дата 3.12.2004, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 13
Всего: 172



Цитата
То есть мне надо создать ещё одну модель??
Ту а так небольшой примерчик можно??


Не еще одну, а свою smile
Для начала посмотри
http://java.sun.com/docs/books/tutorial/ui...table.html#data
Не получится - тогда будем писать smile


--------------------

PM   Вверх
XClan
Дата 8.12.2004, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: нет
Всего: 3



Не получилосьsmile(


--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
Domestic Cat
Дата 8.12.2004, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 13
Всего: 172



А что именно не получилось? Пости код, будем разбираться.


--------------------

PM   Вверх
XClan
Дата 8.12.2004, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: нет
Всего: 3



Код

   private void SysTablePropertyChange(java.beans.PropertyChangeEvent evt) {
      String sn=(String)DevTypeComb.getSelectedItem();
       if(sn == null)
           return;
       Object o=devList.get(sn); //
       if(o == null)
           return;
       java.lang.System.out.println("lll : " + o);
       if(currentDev.equals(o)) //currentDev - Hashtable
           return;
       currentDev=(PrDevParams)o; // PrDevParams - конструктор для элементов, которые имеются в списке комбобокса
       DefaultTableModel model = (DefaultTableModel)SysTable.getModel();
           if(o instanceof PrSnmpParam){
               return;
           }else{
             PrSnmpParam  rstat = (PrSnmpParam)o; //PrSnmpParam - конструктор для элементов в таблице принадлежащий одному из элементов в комбобоксе
           Object []row = new Object[4];
           row[0] = new String("Testing");
           row[1] = rstat.getOid();
           row[2] = new Integer(rstat.getOIDCategory());
           row[3] = new Integer(rstat.getType());
           model.addRow(row);
           SysTable.repaint();
           }
   }


Но таблица не обновляет .. Короче ничего не работает!!!!


--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
Domestic Cat
Дата 8.12.2004, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 13
Всего: 172



Попробуй
Код

model.addRow(row);
SysTable.repaint();


заменить нa

Код

model.addRow(row);
model.fireTableDataChanged();



--------------------

PM   Вверх
XClan
Дата 8.12.2004, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 434
Регистрация: 14.10.2003
Где: Планета Сириус

Репутация: нет
Всего: 3



Тоже самое ничего не происходит...


--------------------
rm -rf /bin/laden
PM MAIL WWW   Вверх
Domestic Cat
Дата 8.12.2004, 17:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: 13
Всего: 172



Может вообще этот код в еlse не выполняется?


--------------------

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   jk1
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема »


 




[ Время генерации скрипта: 0.0700 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.