defaulttablemodel model = new defaulttablemodel();
jtable table = new jtable(model);
// create 2 columns
model.addcolumn("col1");
model.addcolumn("col2");
// change name of first visible column
int vcolindex = 0;
table.getcolumnmodel().getcolumn(vcolindex).setheadervalue("new name");
// force the header to resize and repaint itself
table.gettableheader().resizeandrepaint();