Java - ResultSet更改要在JTable中显示的Db列名称

时间:2014-06-14 09:31:24

标签: java swing jtable jtableheader

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

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

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

此代码成功运行但我想重命名列。我不想在表格中显示数据库列。

3 个答案:

答案 0 :(得分:1)

您需要更新TableColumn

中的TableColumnModel
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];
    }
};

答案 1 :(得分:0)

如果希望将DB值与java列名一起使用,可以考虑使用下面的代码,并且可以使用jTable的TableModel属性在java中设置列名。

DefaultTableModel tmodel = (DefaultTableModel) jTable1.getModel();
tmodel.addRow(new Object[] {....});
jTable1.setModel(tmodel);

希望这有帮助。

答案 2 :(得分:0)

您可以根据您的选择从

等Sql查询中获取列名
SELECT column name as 'Student Id', Column Name as 'Student name' FROM student;

查询根据您的决定为您提供列名称的​​结果。