|
|
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
Сижу с ней уже второй месяц. После фоксового grid и студийного DataGridView это какой-то монстр. Сама по себе конструкция гибкая но громоздкая как черти знает что. Крыша помаленьку съезжает. Что не понятно, или точнее что бесит (возможно от того что не понятно). Описание структуры отображаемых в JTable данных реализуется через TableModel - в принципе жить можно, но с ее помощью не опишешь внешний вид (размеры и положения столбцов, редакторы ячеек и т.д.). Ну и ладно, создам TableColumnModel - то же здорово. Но как теперь это все помирить ? В классе TableModel будет обязательно присутстовать метод обновления данных (данные я получаю с SQL сервера) оканчивающийся на fireTableChanged(null); (я не нашел другого способа нормально обновляться, может тут проблема ?) после чего всю мою установленную для jTable TableColumnModel сносит напроч, т.е. таблица попросту перестраивается и я ее вынужден заново "причесывать". Не проблема конечно после обновления сказать jTable1.setColumnModel(тытытуту), но как то это все шиворот-навыворот чтоли. Как оно по людски то делаться должно. Если будете посылать.... ну в смысле в интернет то плиз по конкретным ссылкам, от гугля, яндекса и апорта меня уже тошнит. Все вылетает на сановскую документацию или на аналогичные вопросы, а нужна просто методика, пуская да же какая то теория. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.06.2007, 23:42:51 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
Далеко посылать не нужно - javadoc и исходники JTable. И кто же это Вас надоумил листенеры оповещать событием null? Для тех кому, простите, мозгов не хватает сформировать грамотное событие сделаны соответствующие методы: javadoc void fireTableCellUpdated(int row, int column) Notifies all listeners that the value of the cell at [row, column] has been updated. void fireTableDataChanged() Notifies all listeners that all cell values in the table's rows may have changed. void fireTableRowsDeleted(int firstRow, int lastRow) Notifies all listeners that rows in the range [firstRow, lastRow], inclusive, have been deleted. void fireTableRowsInserted(int firstRow, int lastRow) Notifies all listeners that rows in the range [firstRow, lastRow], inclusive, have been inserted. void fireTableRowsUpdated(int firstRow, int lastRow) Notifies all listeners that rows in the range [firstRow, lastRow], inclusive, have been updated. void fireTableStructureChanged() Notifies all listeners that the table's structure has changed. Атеперь внимательно смотрим в исходники JTable что происходит в Вашем случае: Код: plaintext 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. И Вас еще что-то удивляет? Обращаю внимание на метод createDefaultColumnsFromModel(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 00:49:08 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответ. Надоумил меня пример JDBCAdapter из папочки Demo JDK. И всетаки, ну почему каждый раз надо заново изобретать велосипед. Неужели статеек на русском для заядлых фоксятников, дельфятников, и прочих переметнувшихся нету. И ведь в магазине шаром покати...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 01:20:18 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
olegovНеужели статеек на русском для заядлых фоксятников, дельфятников, и прочих переметнувшихся нету. И ведь в магазине шаром покати...... Рекомендую И про сановскую документацию не забывайте - там есть все что нужно, причем в доступной форме. На вражъем языке правда, но тут уж ничего не попишешь - если занимаешься программированием, то вражий язык нада знать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 12:20:27 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
А вот в какой книжке есть хороший материал по созданию интерфесов для бух программ, торговлей, зарплат и т.д. Я только в этом году за книги по различным языкам тыс 6-7 растратил. Из трех-четырех изданий кое как удается набрать чтолибо вразумительно. Может есть рекомендации. А вообще, почему в интернете то ничего путевого нет ? Технология не развита ? Или просто редко используется в такой сфере ? Или секрет ? По Net, по VFP, по Delphi сколько хошь.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 12:53:58 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
На Sat, 09 Jun 07 09:53:58 GMT "olegov" <nospam@sql.ru> записано: > Автор: olegov > А вот в какой книжке есть хороший материал по созданию интерфесов для > бух программ, торговлей, зарплат и т.д. Я только в этом году за книги > по различным языкам тыс 6-7 растратил. Из трех-четырех изданий кое > как удается набрать чтолибо вразумительно. Может есть рекомендации. А > вообще, почему в интернете то ничего путевого нет ? Технология не > развита ? Или просто редко используется в такой сфере ? Или секрет ? > По Net, по VFP, по Delphi сколько хошь.... Тема Ответить Сообщение > а ключи от квартиры в которой деньги лежат? Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 13:01:24 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
olegovА вот в какой книжке есть хороший материал по созданию интерфесов для бух программ, торговлей, зарплат и т.д. Я только в этом году за книги по различным языкам тыс 6-7 растратил. Из трех-четырех изданий кое как удается набрать чтолибо вразумительно. Может есть рекомендации. А вообще, почему в интернете то ничего путевого нет ? Технология не развита ? Или просто редко используется в такой сфере ? Или секрет ? По Net, по VFP, по Delphi сколько хошь.... этот боян тут раз в месяц регулярно рвётся. да. на Swing давно забили ... тынц пынц дрынц пыдымц ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 13:20:00 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
Deady На Sat, 09 Jun 07 09:53:58 GMT "olegov" <nospam@sql.ru> записано: > > По Net, по VFP, по Delphi сколько хошь.... Тема Ответить Сообщение > а ключи от квартиры в которой деньги лежат? Posted via ActualForum NNTP Server 1.4 Ну чего так сразу "ключи от квартиры", я то прошу книгу издать.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 14:50:13 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
expp olegovА вот в какой книжке есть хороший материал по созданию интерфесов для бух программ, торговлей, зарплат и т.д. Я только в этом году за книги по различным языкам тыс 6-7 растратил. Из трех-четырех изданий кое как удается набрать чтолибо вразумительно. Может есть рекомендации. А вообще, почему в интернете то ничего путевого нет ? Технология не развита ? Или просто редко используется в такой сфере ? Или секрет ? По Net, по VFP, по Delphi сколько хошь.... этот боян тут раз в месяц регулярно рвётся. да. на Swing давно забили ... тынц пынц дрынц пыдымц это как это забили ? там чужие и непонятные компоненты, а хочется свои родные. Да собственно вопрос-то сузился к тому как TableColumnModel после резапроса данных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 14:54:41 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
авторДа собственно вопрос-то сузился к тому как TableColumnModel после резапроса данных. Я же уже все рассказал. fireTableDataChanged() или setAutoCreateColumnsFromModel(false) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 16:01:01 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
2олегов авторА вот в какой книжке есть хороший материал по созданию интерфесов для бух программ, торговлей, зарплат и т.д заведи здесь топик такой и пость туда. И другим интересно будет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 17:17:03 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
olegovА вот в какой книжке есть хороший материал по созданию интерфесов для бух программ, торговлей, зарплат и т.д. Я только в этом году за книги по различным языка тыс 6-7 растратил. Из трех-четырех изданий кое как удается набрать чтолибо вразумительно. Может есть рекомендации. А вообще, почему в интернете то ничего путевого нет ? Технология не развита ? Или просто редко используется в такой сфере ? Или секрет ? По Net, по VFP, по Delphi сколько хошь.... В выделенном ваша проблема. В мире Java (в отличии от Delphi, например) книги надо покупать не по языкам, а по технологиям. Фаулер, Блох, GoF... Ответ по книгам - Купер, Раскин, Спольски. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.06.2007, 23:59:34 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
Вот ну чем дальше в лес тем больше дров..... 1. При создании TableModel я создаю вектор содержащий собственно набор данных. Как выцепить содержание текущей строки вектора данных ? Т.е. той строки которая сейчас выбрана в таблице ? 2. Набор данных (ResultSet) может содержать какое то количество столбцов, не факт что я их все хочу отобразить в таблице. Один из вариантов - не выливать то что не нужно в вектор, но тогда опять пункт 1. + как еще и выцепить текущую строку из ResulSet. 3. Как программно переместиться на нужную строку в наборе данных, т.е. не только в таблице но и в векторе и в ResultSet. (как встать на нужную запись в ResultSet я знаю, но при этом и в векторе в Таблице должно произойти то же самое) И на последок, чем чревато использование resultSet.TYPE_SCROLL_SENSITIVE ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 09:07:37 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
1. Если именно в модели, то getSelectedRow(), а затем по возвращенному индексу getValueAt(строка, столбец) 2. не понял 3. установить программно jTable1.setRowSelectionInterval(начало, конец); прокрутить до установленного jTable1.scrollRectToVisible(jTable1.getCellRect(строка, столбец, true)); Nai tiruvantel ar varyuvantel i Valar tieyanna nu vilya Aiya Eärendil Elenion Ancalima! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 09:59:12 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
hinotf 2. не понял Nai tiruvantel ar varyuvantel i Valar tieyanna nu vilya Aiya Eärendil Elenion Ancalima! Положим я с сервера получаю набор данных со столбцами code, name, address, phone, inn, а в таблице хочу показать code, name, inn..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 11:05:32 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
1.получить данные 2.поместить их в DefaultTableModel 3.table.setModel(модель) 4.добавить колонки вручную - чтоб автоматом колонки из модели не создавались: table.setAutoCreateColumnsFromModel(false); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 12:23:26 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
10241.получить данные 2.поместить их в DefaultTableModel 3.table.setModel(модель) 4.добавить колонки вручную - чтоб автоматом колонки из модели не создавались: table.setAutoCreateColumnsFromModel(false); Как понять "добавить колонки вручную" ? Как тупо добавить колонки к таблице я знаю, а как их из мождели добавить ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 13:19:57 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
TableColumn(int modelIndex) table.addColumn( примерно так ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 13:46:04 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
hinotf1. Если именно в модели, то getSelectedRow(), а затем по возвращенному индексу getValueAt(строка, столбец) Nai tiruvantel ar varyuvantel i Valar tieyanna nu vilya Aiya Eärendil Elenion Ancalima! Это прокатывает пока столбец не сортирован, после сортировки естественно не катит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 13:47:43 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
Еще момент. Я пытаясь отследить событие перемещения по строкам создаю такую конструкцию setSelectionMode(selectionModel.SINGLE_SELECTION); getSelectionModel().addListSelectionListener(new RowSelectionEvent()); . . . . class RowSelectionEvent implements ListSelectionListener { public void valueChanged(ListSelectionEvent e) { System.out.println(getSelectedRow()); } } Почему когда я перемещаюсь по таблице клавишами-стрелками все нормально (выдается номер строки), а когда мышкой номер строки выдается два раза, т.е один раз перехватывается события нажатия кнопки, а один раз отпускание ? И как эту строку связать с источником данных для TableModel ? Ко' шмар какойто...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 14:21:53 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
olegov - читайте javadoc, он рулит Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 15:45:08 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
но в целом проблему это не решило, как быть если столбец соротирован ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 17:21:34 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
ну нужно отковырять сортировку, и через сортировочную модель получить доступ к исходной (там же типа Chain Of Resp pattern) короч, я писал в своё время такую ...ню: TableModel кот обёртывал List<Bean>, ColumnModel строился из моих колонок, которые имплементили: get/set редактируемую проперть Beanа, renderer, editor (ну и такую лажу как title). намудохалсо вдоволь ... а что из тех ссылок действительно ничего не подошло? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 17:25:39 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
exppну нужно отковырять сортировку, и через сортировочную модель получить доступ к исходной (там же типа Chain Of Resp pattern) короч, я писал в своё время такую ...ню: TableModel кот обёртывал List<Bean>, ColumnModel строился из моих колонок, которые имплементили: get/set редактируемую проперть Beanа, renderer, editor (ну и такую лажу как title). намудохалсо вдоволь ... а что из тех ссылок действительно ничего не подошло? Да нет, ссылки нормальные как образец вполне прилично, но я на фоксе привык со своими компонентами работать. Не охото чужие глюки отлавливать, а иногда приходится долше разбираться с чужими компонентами чем свой написать. Так один раз разберусь и навсегда..... если не чекнусь..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 18:57:53 |
|
||
|
Задолбала jTable.....
|
|||
|---|---|---|---|
|
#18+
О как ларец то просто открывался при установленном setAutoCreateRowSorter(true) получить "правильный" индекс строки вот так можно getRowSorter().convertRowIndexToModel(getSelectedRow()) за идею смотреть в сторону сортера спасибо expp !!! Э кака хитра штука ента jTable. Жисть налаживается....... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2007, 19:13:07 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=34592196&tid=2145402]: |
0ms |
get settings: |
22ms |
get forum list: |
31ms |
check forum access: |
8ms |
check topic access: |
8ms |
track hit: |
63ms |
get topic data: |
22ms |
get forum data: |
5ms |
get page messages: |
123ms |
get tp. blocked users: |
3ms |
| others: | 351ms |
| total: | 636ms |

| 0 / 0 |
