Вам необходимо реализовать метод getColumnName в интерфейсе TableModel
вернуть имена столбцов, которые вы хотите.
Из Javadoc TableModel:
String getColumnName (int columnIndex)
Возвращает имя столбца в columnIndex. Это используется для инициализации имени заголовка столбца таблицы.
EDIT:
Абстрактный класс AbstractTableModel обеспечивает реализацию для большинства методов в интерфейсе TableModel , а также предоставляет реализацию по умолчанию для
метод getColumnName в интерфейсе TableModel (но он может не соответствовать вашей цели, поскольку он возвращает имена столбцов в виде A, B ..).
Создайте свою собственную TableModel путем создания подкласса AbstractTableModel и предоставьте реализацию для абстрактных методов и переопределите getColumnName метод. Например, вы можете попробовать что-то вроде:
</p>
<pre><code>class MyTableModel extends AbstractTableModel {
private List<String> rowData; // say
private List<String> columnNames;
MyTableModel(List<String> data,List<String> names) {
rowData = data;
columnNames = names;
}
// provide implementation of abstract methods
public int getRowCount() {...}
public int getColumnCount() {...}
public Object getValueAt(int row, int column) {...}
@Override
public String getColumnName(int pCol) {
return columnNames.get(pCol);
}
...
}
// create your table as below;
List<String> data = new ArrayList<String>();
data.add("Test");
data.add("Try");
List<String> colNames = new ArrayList<String>();
colNames.add("Name");
MyTableModel model = new MyTableModel(data,colNames);
JTable myTable = new JTable(model);