![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| izver84 |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 302 Регистрация: 5.11.2007 Репутация: 1 Всего: 1 |
Здрасти.Такой вопрос. jTable стоит на jScrollPanel. Данные берутся из таблицы. Нужно чтобы Таблица имела такой вид.
------------------------------------------------------------------------------------------------------------------ | Потребитель | Плательщик | Банк | ------------------------------------------------------------------------------------------------------------------ |Код1 | Наименование1 | Код2 | Р/счет | Ф/счет | Наименование2 | Адрес | ------------------------------------------------------------------------------------------------------------------- |6004 | Samsung | 6005 | 5224215 | 55441 | СоцБанк | Кукуево | -------------------------------------------------------------------------------------------------------------------- Вот класс Модели
Добавлено через 2 минуты и 5 секунд и сам класс реализации
Нижниий ряд заголовка уже есть.
можно ли изменить new String[]{} на new String[][]{} -------------------- Если новая программа с первого раза компилируется без ошибок, значит, она написана принципиально неправильно. |
||||||
|
|||||||
| AlexeyVorotnikov |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 18.6.2007 Где: Москва Репутация: 3 Всего: 18 |
Нельзя. У JTable может быть только однострочный заголовок.
-------------------- RTFM! Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification |
|||
|
||||
| izver84 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 302 Регистрация: 5.11.2007 Репутация: 1 Всего: 1 |
-------------------- Если новая программа с первого раза компилируется без ошибок, значит, она написана принципиально неправильно. |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 5 Всего: 72 |
Это добавление номеров строк, а не многострочный заголовок.
Я делал применрно так как в теме "Without Swing html". Высоту заголовка нужно сделать в два раза выше чем обычно, толщину вертикальных линий между ячейками - 0 |
|||
|
||||
| izver84 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 302 Регистрация: 5.11.2007 Репутация: 1 Всего: 1 |
Мда! И че это значит? Вот так должно быть. Это сообщение отредактировал(а) izver84 - 4.4.2008, 11:53 Присоединённый файл ( Кол-во скачиваний: 24 )
untitled2.JPG 85,76 Kb-------------------- Если новая программа с первого раза компилируется без ошибок, значит, она написана принципиально неправильно. |
|||
|
||||
| skif18 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 358 Регистрация: 17.5.2007 Где: Молдова, Кишинев Репутация: 1 Всего: 1 |
Что ты этой фразой имел ввиду? Что добавляются номера строк в таблице, а не в заголовке? -------------------- |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 5 Всего: 72 |
Я посмотрел только на первый пример, второго не заметил
Вот так остаются лишние пиксели между строками заголовков:
|
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 5 Всего: 72 |
Можно объединить столбцы таблицы до максимального уровня заголовка:
(лучше если TableRender будет возвращать JPanel на которой размещены JLabel, оформленные в соответствии L&F). |
|||
|
||||
| izver84 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 302 Регистрация: 5.11.2007 Репутация: 1 Всего: 1 |
-------------------- Если новая программа с первого раза компилируется без ошибок, значит, она написана принципиально неправильно. |
|||
|
||||
| Marusja |
|
|||
![]() Мыслитель Профиль Группа: Участник Сообщений: 24 Регистрация: 27.4.2007 Где: Нижний Новгород Репутация: нет Всего: 11 |
Если setText() оформленный так "<html>Первая строка<br>Вторая строка" дает надпись в 2 строки и на кнопке, и на метке или всплывающей подсказке, может можно сделать сетКэпшен на заголовке столбца или таблицы так же?
|
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 5 Всего: 72 |
Да, использование <html>...<br>... в тексте заголовка столбца или ячейки таблицы приведёт к тому, что надпись будет выведна в две стороки. Но нужно позаботиться о высоте строки таблицы или заголовка, чтобы она влезла.
|
|||
|
||||
| izver84 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 302 Регистрация: 5.11.2007 Репутация: 1 Всего: 1 |
не катить html,
Таблица должна выгледеть так как показана на прикленном файле. Присоединённый файл ( Кол-во скачиваний: 15 )
untitled2.JPG 85,76 Kb-------------------- Если новая программа с первого раза компилируется без ошибок, значит, она написана принципиально неправильно. |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 5 Всего: 72 |
html работает, но чтобы разместить текст по центру нужно использовать свой CellRenderer.
|
|||
|
||||
| izver84 |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 302 Регистрация: 5.11.2007 Репутация: 1 Всего: 1 |
проблема не в расположении текста по центру. а в моногоуровневом заголовке (ну я и закрутил
Короче в прошлый раз я приклепил файл, там показано как должно быть. Если использовать html. то пример будет выглядеть так: допустим таблица состоит из двух столбцов (имя и фамилия,нижний ряд заголовка) и над нижним уровнем расположен верхний - клиент: клиент имя фамилия Вася Иванов вариант "<html>клиент<br>имя</html> ","<html>клиент<br>фамилия </html> " - работает получается клиент клиент имя фамилия Вася Иванов но мне это неподходит скорей всего нужно типа "<html>клиент<br>имя,фамилия </html> ", где через запятую будут перечилины заголовки столбцов на нижнем уровне. вот моя модель
и собственно класс с таблицей
Это сообщение отредактировал(а) izver84 - 9.4.2008, 14:47 -------------------- Если новая программа с первого раза компилируется без ошибок, значит, она написана принципиально неправильно. |
||||
|
|||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 5 Всего: 72 |
Есть три варианта решения:
1. доводить до ума вариант который работает под JDK 1.3 - но это довольно сложно http://www.crionics.com/products/opensourc...eExamples1.html 2. Создать свой собственный заголовок на основе GridBagLayoutManager на панели - когда-то давно на этом форуме был пример но найти его я не смог. 3. доводить до ума один из моих вариантов (но вариант с объединением колонок тебе наверно не подойдёт - тебе нужно не только отображение но и редактирование). Если не объединять колонки, то CellRenderer заголовка должен возвращать панель, на которой расположены две JLabel, причём нижняя JLabel занимает нижнюю половину заголовка, а верхняя занимает верхнюю половину и ещё выдвинута влево или вправо соответственно. Никакой LayoutManager так тебе их не разместит, ты должен установить его d null и разместить метки вручную. Выдвинутая часть метки отрисовываться не будет, но будет отрисовываться при отображении соседней колонки. Но линии сетки будут прорезать заголовок, поэтому нужно отключить вертикальные линии сетки. Разумеется, нужно запретить переставлять колонки, но можно разрешить изменять их размеры. Добавлено через 9 минут и 18 секунд Вот что-то в этом роде:
|
|||
|
||||
![]()
|
| Правила форума "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. |