Ola pessoal, estou usando um JTable para construir uma tabela que pegue alguns valores de um banco de dados do MySQL, o problema e que na hora de executar o codigo na tabela só aparece o ultimo valor em cada coluna, como faço para corrigir isso?
Abaixo o codigo:
import javax.swing.*;
import java.sql.*;
import java.awt.*;
public class TabelaBancoDados {
JFrame frame = new JFrame("Usando JTable com MySQL");
JTable tabela = null;
JScrollPane scroll = null;
final Dimension d = new Dimension(500,300);
Connection c = null;
PreparedStatement stmt = null;
ResultSet rs = null;
final String usuario = "---";
final String senha = "---";
final String banco = "---";
final String host = "---";
final String prefixo = "jdbc:mysql://";
final String lib = "com.mysql.jdbc.Driver";
final String url = prefixo+host+"/"+banco;
final String[] colunas = {"Campo","Tipo","Default","Null","Extra"};
String[][] dados = null;
final String sqlquery = "SHOW COLUMNS FROM "+banco;
public TabelaBancoDados() {
try {
Class.forName(lib);
c = DriverManager.getConnection(url, usuario, senha);
stmt = c.prepareStatement(sqlquery);
rs = stmt.executeQuery();
while(rs.next()){
String[][] dados_model = {{rs.getString("Field"),rs.getString("Type"),rs.getString("Default"),rs.getString("Null"),rs.getString("Extra")}};
dados = dados_model;
}
}
catch(Exception e){
e.printStackTrace();
}
frame.setLayout(new FlowLayout());
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
tabela = new JTable(dados,colunas);
tabela.setPreferredScrollableViewportSize(d);
scroll = new JScrollPane(tabela);
frame.getContentPane().add(scroll);
frame.pack();
frame.setResizable(false);
frame.setSize(500, 300);
frame.setVisible(true);
}
public static void main(String[] args) {
new TabelaBancoDados();
}
}
Se alguem puder me ajudar, agradeço.