![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
diablero |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 3.12.2006 Где: Аркхэм Репутация: 2 Всего: 5 |
Для того чтобы результат запроса к базе данных был более информативным и читаемым, мне необходимо повернуть таблицу.
Таблица включает в себя строки, чекбоксы, картинки, даты ... Просто совершить манипуляцию с данными т.е. перевернуть не таблицу, а данные у меня не получилось. Подскажите пути решения проблемы. |
|||
|
||||
w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 23 Всего: 54 |
А почему не получилось?
-------------------- ![]() ![]() |
|||
|
||||
diablero |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 3.12.2006 Где: Аркхэм Репутация: 2 Всего: 5 |
Изначально на соответсвующие столбцы у меня были назначенны собственные CellRenderer'ы, а при перевороте я не знаю чтто делать. Назначать их на соответсвующие ячейки таблицы? Только я не знаю как...
-------------------- Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ... |
|||
|
||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 31 Всего: 159 |
||||
|
||||
diablero |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 3.12.2006 Где: Аркхэм Репутация: 2 Всего: 5 |
>а может таблицу не поворачивать, а повенрнуть рендерер?
Поясните? -------------------- Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ... |
|||
|
||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 31 Всего: 159 |
Вот есть пример вывода вертикального текста в JLabel. Можно попробовать его в качестве рендерера для ячейки таблицы. Теоретически, должно получиться. Тогда и таблицу поворачивать не придется...
![]() |
|||
|
||||
diablero |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 3.12.2006 Где: Аркхэм Репутация: 2 Всего: 5 |
Нееет, суть не в этом.
Мне не ячейки надо повернуть, а всю таблицу, т.е. чтобы прокручивать столбцы надо было не в право, а в низ Исходная: 1 | 2 | 3 | текст | текст |текст | Что нужно получить: _________| 1 | текст | _________| 2 | текст | _________| 3 | текст | -------------------- Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ... |
|||
|
||||
powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 31 Всего: 159 |
Т.е. у Вас просто направление вывода данных меняется ... как бы транспонируются... Тогда лучше модель таблицы соответствующим образом переписать... Что бы первая строка была первым столбцом, вторая вторым и тд...
Это сообщение отредактировал(а) powerOn - 5.12.2006, 20:40 |
|||
|
||||
diablero |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 3.12.2006 Где: Аркхэм Репутация: 2 Всего: 5 |
Тогда как соответствующий рендерер назначить соответсвующей строке, или ячейки?
-------------------- Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ... |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
Назначай рендерер на класс:
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
diablero |
|
||||||||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 3.12.2006 Где: Аркхэм Репутация: 2 Всего: 5 |
Для транформации имею две модели таблицы. Исходная:
И транспонированная:
Для отображения использую следующий рендерер:
Редактор
Это сообщение отредактировал(а) diablero - 8.12.2006, 23:35 -------------------- Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ... |
||||||||||
|
|||||||||||
w1nd |
|
|||
![]() Вертилятор ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1077 Регистрация: 22.3.2006 Где: Москва Репутация: 23 Всего: 54 |
В вашей исходной модели переопределен метод getColumnClass(), а в транспонированной - нет. Реализация этого метода в AbstractTableModel возвращает Object.class.
А еще замечу, что менять свойства таблицы из рендерера не стоит, т. к. каждое такое изменение вызывает очередную перерисовку. Это сообщение отредактировал(а) w1nd - 6.12.2006, 00:28 -------------------- ![]() ![]() |
|||
|
||||
diablero |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 3.12.2006 Где: Аркхэм Репутация: 2 Всего: 5 |
Чего -то с реализацией метода getColumnClass() проблема, в транспонированной таблице, не знаю как ему строки подпихивать...
>А еще замечу, что менять свойства таблицы из рендерера не стоит, т. к. каждое такое изменение вызывает очередную перерисовку. А я то думал, что она перерисовываеться -------------------- Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ... |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 38 Всего: 538 |
Тут уже все равно, что ему выдавать. Все равно класс задается для колонки в целом, а не для отдельных ее элементов. Так что пусть возвращает Object.class. Надо написать такой рендерер, который бы определял реальный тип объекта (instanceof), и в зависимости от этого отображал его. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
diablero |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 337 Регистрация: 3.12.2006 Где: Аркхэм Репутация: 2 Всего: 5 |
to w1nd
>А еще замечу, что менять свойства таблицы из рендерера не стоит, т. к. каждое такое изменение вызывает очередную перерисовку. А где тогда выставлять размер ячеек? Данные то все разные (размер картинок, длина текста) -------------------- Есть два варианта решения проблемы - реальный и фантастический. Реальный - это когда прилетят инопланетяне и все за нас сделают ... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |