Fazer uma tabela com base em um objeto

Nesse código meu objetivo é construir uma tabela com base em um outro objeto chamado aluno que possui nome, idade e cidade, puxando isso do banco de dados MySQL, meu problema está em como eu posso fazer para passar esses dados em um foreach para dentro dos dados da tabela que quero montar em um JFrame. Eu tentei passar de maneira direta ou convertendo esse dados pra String, contudo sem sucesso em moldar essa linha de código.
Segue o código abaixo:

public class TelaListarAluno {
JFrame janela;
JLabel Lista;
JScrollPane rolagem;
JTable tabela;
String [] colunas = new String [] {“Nome:”, “Idade:”,“Cidade:”};
String [][] dados = new String [] [] { {“”} };

Connection conexao = ConnectionFactory.getConnection();

public void iniciar() {
	AlunoDAO alunoDao = new AlunoDAO(conexao);
	
	
	janela.setSize(400, 400);
	janela.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
	janela.setVisible(true);
	janela.setLayout(null);
	
	
	
	DefaultTableModel modelo = new DefaultTableModel(dados, colunas);
	tabela = new JTable(modelo);
	tabela.setBounds(10, 60, 300, 65);
	rolagem = new JScrollPane(tabela);
	rolagem.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
	rolagem.setBounds(10, 60, 300, 65);
	
	try {
		for(Aluno c: alunoDao.buscaTodos()) {
			String nome = c.getNome();
			int idade = c.getIdade();
			Integer.toString(idade);
			String cidade = c.getCidade();
			 
			
			//Linha da pergunta 
			dados = ???
		}
		
	} catch(SQLException erro) {
		JOptionPane.showMessageDialog(null, "ERRO AO CONECTAR NO BANCO", null, JOptionPane.ERROR_MESSAGE);
	}
	
	
	
	janela.getContentPane().add(rolagem);
}

public static void main(String[] args) {
	TelaListarAluno aplicativo = new TelaListarAluno();
	aplicativo.iniciar();
}

}

Não precisa converter para String e não utilize DefaultTableModel, ele só é útil para apresentar conteúdo estático.

Crie o seu próprio TableModel extendendo a classe AbstractTableModel .
Recomendo se basear no GenericAbstractTableModel que o colega @Lucas_Camara postou neste tópico.

2 curtidas

Com base no que vc me passou, consegui fazer funcionar o código, mto obg.