немного более полное решение: JBroTable.
Он основан на ответе MadProgrammer. Он также ограничивает перемещение столбцов из группы. И приносит некоторые дополнительные функции:
- Произвольное количество строк
- Natural API для создания модели
- Generic поддержка других L & Fs (Windows система L & F, GTK'шный, Nimbus и т.д.)
создание модели
Пример:
IModelFieldGroup groups[] = new IModelFieldGroup[] {
new ModelFieldGroup("A", "A")
.withChild(new ModelField("B", "B"))
.withChild(new ModelField("C", "C").withRowspan(2)), // Custom rowspan set.
new ModelFieldGroup("D", "D")
.withChild(new ModelField("E", "E"))
.withChild(new ModelField("F", "F")),
new ModelField("G", "G"),
new ModelFieldGroup("H", "H")
.withChild(new ModelFieldGroup("I", "I")
.withChild(new ModelField("J", "J")))
.withChild(new ModelField("K", "K"))
.withChild(new ModelFieldGroup("L", "L")
.withChild(new ModelField("M", "M"))
.withChild(new ModelField("N", "N")))
};
Результат:
Animated demo (2,5М)
Update:
Добавлен чертеж всего тащили колонны группу.
Добро пожаловать в чудесный мир старого кода в Интернете. В принципе, «GroupableHeader» переопределяет делегат внешнего вида и восприятия, используемый для рисования заголовка столбца.Если вы хотите предоставить эту функциональность, вам придется (сильно) изменить код, чтобы представить его поддержку ... – MadProgrammer