JTable с различным количеством столбцов в строке


как я могу заставить JTable размещать несколько строк только с одним столбцом, например:

A1 Section Title Row With long Text
A2          B2          C2          D2
A3          B3          C3          D3
A4          B4          C4          D4
A5 Section Title Row With long Text
A6          B6          C6          D6
A7 Section Title Row With long Text
A8          B8          C8          D8
A9          B9          C9          D9

вместо

A1 Section Title Row With long Text  B1          C1          D1
A2                                   B2          C2          D2
A3                                   B3          C3          D3
A4                                   B4          C4          D4
A5 Section Title Row With long Text  B5          C5          D5
A6                                   B6          C6          D6
A7 Section Title Row With long Text  B7          C7          D7
A8                                   B8          C8          D8
A9                                   B9          C9          D9

Я сделал этот тип макета с помощью xhtmlrenderer, но мне интересно, можно ли изменить отдельный диапазон ячеек JTable. Спасибо.


person brian_d    schedule 10.11.2010    source источник


Ответы (2)


Взгляните на этот пример, который показывает, как вы можете "объединять ячейки" в JTable.

person dogbane    schedule 10.11.2010
comment
Кажется, что этот пример часто упоминается на других форумах и stackoverflow.com/ также вопросы/476721/merging-cells-in-jtable. Однако я с подозрением отношусь к использованию независимого кода 1998 года, который был протестирован на Swing1.1beta3. - person brian_d; 10.11.2010
comment
Это не тот ответ, на который я надеялся, но кажется, что это текущее состояние JTable (т.е. не так много прогресса с момента его создания). Я приму ваш ответ, но придерживайтесь XHTMLRenderer. - person brian_d; 17.11.2010
comment
Ссылка в этом ответе не работает. Я думаю, что этот ответ связывает рабочий, в дополнение к объяснению необходимого исправления для него. - person predi; 31.05.2016

В коммерческих JIDE Grids есть CellSpanTable и GroupTable. Основная идея такая же, как у древнего кода в ответе @dogbane, который заключается в использовании пользовательского интерфейса, который не рисует линии сетки для составных ячеек.

person Geoffrey Zheng    schedule 11.11.2010