У меня проблемы с JTables. Я добавляю две таблицы на панель, таблицы находятся внутри полосы прокрутки, но когда приложение появляется, таблицы всегда занимают больше места, чем количество строк, тратя впустую мое доступное пространство.
Я использую groovy и swingbuilder для создания таблиц, вот код:
scrollPane(){
panel(layout: new MigLayout('wrap 3')) {
//main title
label(text: '<html><h1>blah</h1></html>',constraints: 'span 3') //title
//tables
def data = [[text: "ABC", combo: "abc"], [text: "DEF", combo: "def"]]
def items = ['abc', 'def', 'ghi', 'jkl']
def tableModelListener = { e -> println "${e.firstRow} ${e.column} ${e.type}" } as TableModelListener
scrollPane(constraints: 'span 3' ) {
table(id: 'serviceTable') {
current.setFillsViewportHeight(false)
tableModel(list: data) {
current.addTableModelListener(tableModelListener)
propertyColumn(header: 'Text', propertyName: 'text')
propertyColumn(header: 'Combo', propertyName: 'combo')
}
}
}
scrollPane(constraints: 'span 3' ) {
table(id: 'groupsTable') {
tableModel(list: data) {
current.addTableModelListener(tableModelListener)
propertyColumn(header: 'Text2', propertyName: 'text')
propertyColumn(header: 'Combo2', propertyName: 'combo')
}
}
}
}
}
И вот результат:
Изображение http://img517.imageshack.us/img517/6508/15181501ym9.jpg
Я хочу сделать высоту таблицы в соответствии с количеством строк, и, если возможно, я бы хотел, чтобы таблица также занимала всю ширину. Я думаю, что моя проблема связана с родительскими панелями, но я не могу найти причину.