Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ricardo gomes araujo

JTable - Mostrar colunas

Recommended Posts

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?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.