Лучший способ установить строки и заголовки отдельно после создания JTable? - PullRequest
0 голосов
/ 16 декабря 2011

Это означает, что мне нужны функции setData и setHeaders для JTable

Ответы [ 2 ]

2 голосов
/ 17 декабря 2011

Как говорит Гилберт, не существует метода AbstractTableModel, который позволял бы вам устанавливать значения заголовков после запуска JTable, так как это не очень распространенное требование. Тем не менее, есть простой обходной путь к этому. Я не могу сказать, является ли это лучшим способом сделать это, но он доставит вас туда ...

columnNumber - это номер столбца, который вы хотите изменить, а newHeaderString - это новая строка, которую вы хотите использовать.

    jTable1.getColumnModel().getColumn(columnNumber).setHeaderValue(newHeaderString);
    jScrollPane1.setViewportView(jTable1);

Поскольку существует метод getTableHeader (), вы можете вызвать его, если вам нужно дополнительно изменить свойства заголовка таблицы.

Что касается установки новых данных в любой строке, используйте jTable1.setValueAt (newObject, row, col);

1 голос
/ 17 декабря 2011

если вы используете TableModel, вы можете изменить содержимое данных, но не заголовки столбцов.

TableModel model = new DefaultTableModel(rowData, columnNames);
JTable table = new JTable(model)

rowData и columnNames должны быть определены до создания таблицы.

Интерфейс TableModel имеет метод setValueAt. В интерфейсе TableModel нет способа задания имен столбцов.

...