Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Estou com mais um problema criei uma JTable e no entanto não esta mostrando os
nomes nas colunas queria que mostrasse: Código, placa, modelo
Só que só mostra o registro do banco de dados
Segue o que fiz
package br.com.tabelaMysql;
import java.awt.*;
import java.sql.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.table.DefaultTableModel;
import br.com.Carro;
import br.com.CarroDAO;
public class Carros {
private static final long serialVersionUID = 1L;
private JFrame janela;
private JPanel painelPrincipal;
private JLabel lb_placa, lb_modelo;
private JTextField tf_placa, tf_modelo;
private JButton bt_salvar, bt_limpar, bt_fechar;
private JTable tabela;
private JScrollPane barra;
final DefaultTableModel carro = new DefaultTableModel();
public static void main(String[] args) {
new Carros().montaTela();
}
private void montaTela() {
montaJanela();
montaPainelPrincipal();
mostraJanela();
montaComponentes();
adicionionaComponentesJanela();
adicionaComponentes();
montaTabela();
}
private void montaJanela() {
janela = new JFrame("Carros");
janela.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}
private void montaPainelPrincipal() {
painelPrincipal = new JPanel();
janela.add(painelPrincipal);
janela.setLayout(null);
}
private void mostraJanela() {
janela.pack();
janela.setSize(600,540);
janela.setVisible(true);
}
private void montaComponentes() {
lb_placa = new JLabel("Placa");
lb_modelo = new JLabel("Modelo");
tf_placa = new JTextField("");
tf_modelo = new JTextField("");
bt_salvar = new JButton("Salvar");
bt_limpar = new JButton("Limpar");
bt_fechar = new JButton("Fechar");
tabela = new JTable(carro);
barra = new JScrollPane(tabela); }
private void adicionionaComponentesJanela() {
janela.add(lb_placa);
janela.add(lb_modelo);
janela.add(tf_placa);
janela.add(tf_modelo);
janela.add(bt_salvar);
janela.add(bt_limpar);
janela.add(bt_fechar);
janela.add(tabela);
janela.add(barra);
}
private void montaTabela() {
carro.addColumn("Código");
carro.addColumn("Placa");
carro.addColumn("Modelo");
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/teste?user=root&password=");
Statement stmt = conn.createStatement();
String query = "SELECT * FROM carro";
ResultSet rs = stmt.executeQuery(query);
while(rs.next()){
int codigo = rs.getInt("cod_carro");
String placa = rs.getString("placa");
String modelo = rs.getString("modelo");
carro.addRow(new Object[]{new Integer(codigo), placa, modelo});
}
}
catch(SQLException ex){
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());
}
catch(Exception e){
System.out.println("Problemas ao tentar conectar");
}
tabela.setPreferredScrollableViewportSize(new Dimension(200, 50));
}
protected void cadastraCarro(){
Carro carro = new Carro();
carro.setPlaca(tf_placa.getText().trim());
carro.setModelo(tf_modelo.getText().trim());
CarroDAO ca = new CarroDAO();
ca.adiciona(carro);
}
private void adicionaComponentes() {
lb_placa .setBounds(20, 20, 120, 15);
tf_placa .setBounds(20, 40, 120, 25);
lb_modelo .setBounds(170,21,130,15);
tf_modelo .setBounds(170,40,120,25);
bt_salvar .setBounds(20,290,80, 30);
bt_limpar .setBounds(105,290,80, 30);
bt_fechar .setBounds(190,290,80, 30);
tabela .setBounds(100,180,200,50);
barra .setBounds(20,160,400,100);
bt_salvar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) { cadastraCarro(); }
});
}
}
Alguém poderia me dizer o que esta havendo para não mostrar as colunas com os nomes?
Carregando comentários...