Java - ResultSet изменяет имена столбцов Db для отображения в JTable

Я использую rs2xml .jar для заполнения данных в таблице. вот мой код отображения столбцов таблицы и данных

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

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

Этот код успешно работает, но я хочу переименовать столбцы. Я не хочу показывать столбцы БД в своей таблице.


person user1hjgjhgjhggjhg    schedule 14.06.2014    source источник


Ответы (3)


Вам необходимо обновить TableColumn из TableColumnModel:

TableColumnModel tcm = table.getColumnModel();
tcm.getColumn(0).setHeaderValue("whatever you want");

Или вы можете переопределить метод getColumnName(...) при создании JTable:

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

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

Вы можете рассмотреть возможность использования приведенного ниже кода, если хотите использовать значения DB с именами столбцов java, и вы можете установить имена столбцов в java, используя свойство TableModel jTable.

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

Надеюсь это поможет.

person Pranav    schedule 14.06.2014

Вы можете получить имя столбца по вашему выбору из запроса Sql, например

SELECT column name as 'Student Id', Column Name as 'Student name' FROM student;

Запрос даст вам результат с именем столбца по вашему усмотрению.

person Meet Prajapati    schedule 05.01.2017