您应该在TableModel中添加getColumnName():
String[] employee = {"Employee 1", "Employee 2"};
@Override
public String getColumnName(int index) {
return employee[index];
}
在你的情况下,这可能是:
model = new DefaultTableModel() {
private static final long serialVersionUID = 1L;
String[] employee = {"Employee 1", "Employee 2"};
@Override
public int getColumnCount() {
return employee.length;
}
@Override
public boolean isCellEditable(int row, int col) {
return false;
}
@Override
public int getRowCount() {
return Inform.getRowCount();
}
@Override
public String getColumnName(int index) {
return employee[index];
}
};
这是一个完全有效的例子:
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
public class TableNamesTest extends JFrame {
public TableNamesTest() {
DefaultTableModel model = new DefaultTableModel() {
String[] employee = {"emp 1", "emp 2"};
@Override
public int getColumnCount() {
return employee.length;
}
@Override
public String getColumnName(int index) {
return employee[index];
}
};
JTable table = new JTable(model);
add(new JScrollPane(table));
pack();
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
new TableNamesTest();
}
}