1

I'm developing a software for my friend.I have developed 90% of my project and my problem is I have a table which I fill with data in database.I have used a custom table model to fill jtable. It fills data perfectly but the problem is it doesn't contain proper column header instead of that it contain A,B,C for column headers .

here is my custom table model class.

 public class SellUpdateModel extends AbstractTableModel
{

private Vector<Vector> data;

public SellUpdateModel(String Jid)
{

    data = new Vector<>();
    data = new JobDetailsDAO().get_ItemDescriptionAndQuantity(Jid); //Retrive data from databse and fill it to vector.
}

@Override
public boolean isCellEditable(int rowIndex, int columnIndex)
{
    return false; // does not allowed to edit cells 
}

@Override
public int getRowCount()
{
    return data.size();
}

@Override
public int getColumnCount()
{
    return 3;
}

@Override
public Object getValueAt(int rowIndex, int columnIndex)
{
    return data.elementAt(rowIndex).elementAt(columnIndex);
}

public SellUpdateModel deleteRow(int row, Vector pData)
{
    data.remove(data.elementAt(row)); // remove a record from vector
    data.add(pData);                // add a record to vector
    return this;
}
}
mKorbel
  • 109,525
  • 20
  • 134
  • 319
  • 1
    Why are you using a custom model? The DefaultTableModel will do what you want without any custom code. – camickr Sep 21 '13 at 14:30

1 Answers1

6

You have to override getColumnName(int columnIndex).

public class SellUpdateModel extends AbstractTableModel {
 private final String[] tableHeaders = {"X", "Y", "Z"};


 @Override
 public String getColumnName(int columnIndex) {
  return tableHeaders[columnIndex];
 }
}
Reimeus
  • 158,255
  • 15
  • 216
  • 276
Jeroen Vannevel
  • 43,651
  • 22
  • 107
  • 170