Ajuda com jtable.setModel();

Olá pessoal, depois de minhas andanças em vários artigos e links lidos sobre jTable, consegui criar minha tableModel, porém, agora estou com um problema na forma de chamá-la pelo método setModel() das propriedades da jTable no Netbeans.

Eu fiz um teste da seguinte forma no netbeans e funcionou:
Clicar com o botão direito na jtable, Conteúdo da tabela, Personalizar código, daí no método setModel eu colocava da seguinte forma jTableAlunos.setModel(getTableModelAlunos()); e meu método que eu utilizava para teste era o seguinte:

[code] private DefaultTableModel getTableModelAlunos(){

String[][] linhas = new String [][]{
              {"SP","Sao Paulo"},
              {"RJ","Rio de Janeiro"},
              {"RN","Rio Grande do Norte"},
              {"PR","Parana"}
};
String[] colunas = new String []{"Estado","Cidade"};

    return new DefaultTableModel(linhas, colunas);

}[/code]

Preenchia tudo na mão para teste…

Então juntando tudo que encontrei na net, acabei chegando a essa classe:

[code]public class AlunoTableModel extends AbstractTableModel {

private String[] nomeColunas = {"Código", "Nome", "E-mail"};
private List<Aluno> alunos;

// construtor padrão criando um arraylist de alunos
public AlunoTableModel(){
    alunos = new ArrayList<Aluno>();
}

// construtor que adiciona a lista passada pelo método ao alunos
public AlunoTableModel(List<Aluno> lista){
    this();
    this.alunos.clear();
    this.alunos.addAll(lista);
    super.fireTableDataChanged();
}

public int getRowCount() {
    return alunos.size();
    //throw new UnsupportedOperationException("Not supported yet.");
}

public int getColumnCount() {
    return nomeColunas.length;
    //throw new UnsupportedOperationException("Not supported yet.");
}

public Object getValueAt(int rowIndex, int columnIndex) {
             Aluno aluno = alunos.get( rowIndex );
     switch( columnIndex ) {
         case 0: return aluno.getId();
         case 1: return aluno.getNome();
         case 2: return aluno.getEmail();
     }
     return null;
    //throw new UnsupportedOperationException("Not supported yet.");
}

}[/code]

Agora a dúvida, como que eu altero o método getTableModelAlunos() para retornar para a minha tabela?

Eu tentei da seguinte forma?

[code] private void getTableModelAlunos(){

    AlunoDao ad = new AlunoDao();
    AlunoTableModel atm = new AlunoTableModel(ad.listarAlunos());
    jTableAlunos.setModel(atm);

}[/code]

Mas tenho que retornar alguma coisa… não pode ser void, então o que retorno?
O piripaque deu aqui, e deu tilt no pensamento também, já tentei JTable, DefaultTableModel… e não consigo progredir.

Se alguém puder ajudar.

Obrigado.

private TableModel getTableModelAlunos(){


        AlunoDao ad = new AlunoDao();
        return new AlunoTableModel(ad.listarAlunos());
    }

Na hora que você vai criar o jTeble, usa assim:

no caso acima, provavelmente a tabela irá ficar vazia, faz um contrutor para ela, ou faz um método para inserir objetos nas linhas:

no ultimo caso, você tera que implementar um setAlunos lá no seu tableModel…

Mark
muito obrigado pela resposta super rápida…
Agora funcionou…

Valeu
Alexander

Hellmanss valeu pela responsta, já funcionou direitinho conforme o Mark passou.

Muito obrigado.
Alexander

Boa tarde Alexmaoli,

Sobre sua classe, o atributo nomeColunas está sendo utilizado em algum lugar? É que testei aqui e a atribuição no JTable funciona, porém o nome das colunas fica como A, B, C etc…