JTable é muito bom mas requer um estudo. Vou dar só uma pincelada…
Crie um TableModel, é mais simples e mais “OO”. Nele você terá um array de nomes para as colunas e um list com quantos objetos forem necessários serem exibidos na tabela.
Exemplo:
public class MeuTableModel extends AbstractTableModel {
private static final long serialVersionUID = 1L;
private final String[] headers = {
"Coluna1",
"Coluna2",
"Coluna3",
"Coluna4",
};
private ArrayList<MeuObjeto> list;
public MeuTableModel(){
list = new ArrayList<MeuObjeto>();
}
public int getColumnCount() {
return headers.length;
}
public int getRowCount() {
return list.size();
}
public String getColumnName(int columnIndex) {
return headers[columnIndex];
}
public Object getValueAt(int rowIndex, int columnIndex) {
MeuObjeto selected = list.get(rowIndex);
// Trate aqui de acordo com a coluna selecionada...
}
}
Criado o TableModel, é só fazer jTabela.setModel(meuTableModel);
É mais complicado que isso, seria interessante vocês lerem à respeito, mas já é um começo.
Todas minhas JTables usam meus próprios models, por isso recomendo assim, te permite tratar melhor o funcionamento da tabela, como pegar o objeto todo selecionado mais facilmente, atualizar mais facilmente não só a tabela mais como o obejto em si, enfim, leiam que vale a pena.