Java-ResultSet更改数据库列名以显示在JTable中

Java-ResultSet更改数据库列名以显示在JTable中,java,swing,jtable,jtableheader,Java,Swing,Jtable,Jtableheader,我使用rs2xml.jar将数据填充到表中。下面是我显示表列和数据的代码 ResultSet rs = stmt.executeQuery("select * from employees"); table_employees.setModel(DBUtiles.resultSetToTableModel(rs)); 此代码成功运行,但我想重命名列。我不想在表中显示DB列

我使用rs2xml.jar将数据填充到表中。下面是我显示表列和数据的代码

ResultSet rs = stmt.executeQuery("select * from employees");

table_employees.setModel(DBUtiles.resultSetToTableModel(rs));

此代码成功运行,但我想重命名列。我不想在表中显示DB列DefaultTableModel tmodel = (DefaultTableModel) jTable1.getModel(); tmodel.addRow(new Object[] {....}); jTable1.setModel(tmodel);
希望这能有所帮助。

您需要从
TableColumnModel
更新
TableColumn

TableColumnModel tcm = table.getColumnModel();
tcm.getColumn(0).setHeaderValue("whatever you want");
或者,您可以在创建JTable时重写
getColumnName(…)
方法:

JTable table = new JTable( DBUtilities.resultSetToTableModel(rs)
{
    private String[] columnNames = 
    {
        "Column 1",
        "Column 2",
        "Column ..."
    };

    @Override
    public String getColumnName(int col) 
    {
        return columnNames[col];
    }
};

您可以根据自己的选择从Sql查询中获取列名,如

SELECT column name as 'Student Id', Column Name as 'Student name' FROM student;
查询将根据您的决定提供列名为的结果