| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: GUI и Java FX приложения > неправильно происходит редактир-е строки в JTable |
| Автор: Adept 8.1.2005, 14:39 | ||||||||||
| Попал в новую яму Второй раз строка в JTable нередактируется, т.е первый раз проходит все нормально, а если попытатся этуже строку отредактировать еще раз вылетает ошибка
Вот моя структура: БД -> MobilTableModel -> SorterTableModel -> JTable Вот тут выскакивает ошибка
Вот тут вызывается метод редактирования
Вот SorterTableModel
Вот ModelTableModel
|
| Автор: Domestic Cat 8.1.2005, 22:17 | ||
То есть, подряд нажать кнопку редактирования? Кстати проверяй, выделен ли ряд в таблице, иначе getSelectedRow вернет -1 и будет нехорошо. |
| Автор: Adept 9.1.2005, 11:27 |
| У меня по нажатию кнопки Edit выскакивает окно в котором я редактирую данные, там есть кнопка ок. После нажатия которой это окно закрывается и мы возвращаемся в главное окно, там где находится таблица(уже с изменениями). Вот если уже отредактированную строку попробывать опять по кнопке Edit отредактировать, то при нажатии кнопки Edit окно редактирования непоявляется, а выскакивает эта ошибка. Я так понимаю что тут неможет получить значение. String sMobilIDEdit = sorterTableModel.getValueAt(tablePrihod.getSelectedRow(), sorterTableModel.getColumnCount() - 1).toString(); //второй раз вместо значения sMobilIDEdit = null |
| Автор: Adept 9.1.2005, 12:16 | ||
| Проверку на выделение ряда я делаю. Тут даже если написать так
все равно ошибку выбрасывает |
| Автор: igon 9.1.2005, 17:28 | ||||
Т.е. столбцов - 5, индекс последнего - 4. Вполне естественно, что
не сработает Может, изначально у тебя 6 столбцов, а ты после редактирования делаешь их число равным 5 в редактированной строке? |
| Автор: Domestic Cat 9.1.2005, 18:46 | ||||
Там бедь стоит sorterTableModel.getColumnCount() - 1, должно работать.; а вот
даст ошибку. Попробуй выводить значения всех параметров для sMobilIDEdit в консоль, посмотри чем они отличаются. |
| Автор: igon 9.1.2005, 19:21 |
| sorterTableModel.getColumnCount(), возможно, возвращает 6. Adept совершенно правильно (вручную) отнимает 1, получает 5 и ...получает ошибку |
| Автор: Domestic Cat 9.1.2005, 19:30 |
| Тут без него не выяснишь |
| Автор: igon 10.1.2005, 00:10 |
| А пока Adept отдыхает, у меня oftop предлжение - может, предложить вопрошающим (в рубрике "Прежде чем") постить минимальное приложение(2-3 урезанных донельзя классов), в которых, тем не менее, возникает волнующая их ошибка. Тогда мы могли бы просто пробежаться по нему debug'ом, особо не теряясь в догадках, как сейчас, например |
| Автор: Domestic Cat 10.1.2005, 00:26 |
| И кому будет охота урезать классы |
| Автор: igon 10.1.2005, 00:42 |
| Тогда пусть ждут, пока догадаемся Хотя декомпозиция - один из основных методов отладки сколько-нибудь сложных программ. И как можно без него обойтись - я, например, не представляю. Разве что постить вопрос после первой неудачной компиляции |
| Автор: Adept 10.1.2005, 10:35 |
| В SorterTableModel у меня находится все 6 столбцов. 6-й столбец (mobil_id) В JTable я вывожу 5 столбцов (все кроме 6-го) ................................все понял блин моя невнимательность спасибо люди навели на ошибку я недобавил значение последнего столбца insertTable[5] = "0"; Добавлено @ 10:39 точнее не insertTable[5] = "0"; а insertTable[5] = "нужное значение"; Еще раз спасибо за помощь |