Ajuda com JTable-Inserir registros

1 resposta
M

Bom pessoal, eu li varias vezes alguns posts aqui do forum porem não consegui ainda entender como fazer para inserir os registros no JTable, estou usando o NETBEANS e criei uma tabela por ela, vou postar o código completo abaixo.
Agradeço desde já a quem poder me ajudar referente a inserir registros na tabela.
O Tenho uma tabela itens_venda eu preciso recuperar dessa tabela, 4 colunas e inserir no JTable esses registros para mostrar o consumo, o problema é que não estou conseguindo fazer isso.
Código.

package Bar;  
import Banco.Conexao;  
import Caixa.*;  
import javax.swing.*;       
import java.awt.*;       
import java.awt.event.*;       
import java.sql.PreparedStatement;  
import java.sql.ResultSet;  
import java.sql.SQLException;  
import java.util.*;   
   
  
public class Consumo extends javax.swing.JFrame{       
     
        Conexao con_Cadastro;  
          
    public Consumo() {  
        initComponents();  
        con_Cadastro = new Conexao();  
        con_Cadastro.conectar();  
        con_Cadastro.ExecutarSQL("select * from itens_pulseira");  
          
        //Muda o Icone "JAVA" da Janela  
        try {  
            Image icon = Toolkit.getDefaultToolkit().getImage("src/Imagens/Icon.png");  
            setIconImage(icon);  
        }  
          
        catch (Exception erro){  
            JOptionPane.showMessageDialog(null, erro, "Erro", 0);  
        }  
        //Fim do Icone    
          
        //Deixa a Tela em FullSreen  
        //show();    
        //setExtendedState(Menu.MAXIMIZED_BOTH);   
  
   }  
    public void MostrarConsulta(String nome){    
        ArrayList<Produtos> registroConsulta = new ArrayList<Produtos>();    
        Consulta consu = new Consulta();    
        registroConsulta = consu.ConsuProd (nome);         
    }  
      
    @SuppressWarnings("unchecked")  
    // <editor-fold defaultstate="collapsed" desc="Generated Code">  
    private void initComponents() {  
  
        jScrollBar1 = new javax.swing.JScrollBar();  
        jScrollPane2 = new javax.swing.JScrollPane();  
        jTable2 = new javax.swing.JTable();  
        jButton3 = new javax.swing.JButton();  
        BT_Pesquisar1 = new javax.swing.JButton();  
        jTextField1 = new javax.swing.JTextField();  
        TF_Pesquisa = new javax.swing.JTextField();  
        jComboBox1 = new javax.swing.JComboBox();  
        LB_Instruções = new javax.swing.JLabel();  
        LB_Instruções1 = new javax.swing.JLabel();  
        jLabel1 = new javax.swing.JLabel();  
        LB_Fundo = new javax.swing.JLabel();  
  
        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);  
        setTitle("...::: Royal Club :::...");  
        setResizable(false);  
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());  
        getContentPane().add(jScrollBar1, new org.netbeans.lib.awtextra.AbsoluteConstraints(760, 190, 20, 370));  
  
        jTable2.setModel(new javax.swing.table.DefaultTableModel(  
            new Object [][] {  
                {null, null, null, null},  
                {null, null, null, null},  
                {null, null, null, null},  
                {null, null, null, null},  
                {null, null, null, null},  
                {null, null, null, null},  
                {null, null, null, null},  
                {null, null, null, null},  
                {null, null, null, null},  
                {null, null, null, null}  
            },  
            new String [] {  
                "Nome", "Tipo", "Quantidade", "Valor"  
            }  
        ) {  
            Class[] types = new Class [] {  
                java.lang.String.class, java.lang.String.class, java.lang.Integer.class, java.lang.Float.class  
            };  
  
            public Class getColumnClass(int columnIndex) {  
                return types [columnIndex];  
            }  
        });  
        jTable2.setAutoscrolls(false);  
        jTable2.setGridColor(new java.awt.Color(255, 255, 255));  
        jTable2.setSelectionBackground(new java.awt.Color(47, 141, 186));  
        jScrollPane2.setViewportView(jTable2);  
  
        getContentPane().add(jScrollPane2, new org.netbeans.lib.awtextra.AbsoluteConstraints(40, 190, 740, 370));  
  
        jButton3.setText("Inserir");  
        getContentPane().add(jButton3, new org.netbeans.lib.awtextra.AbsoluteConstraints(550, 120, -1, -1));  
  
        BT_Pesquisar1.setText("Pesquisar");  
        BT_Pesquisar1.addActionListener(new java.awt.event.ActionListener() {  
            public void actionPerformed(java.awt.event.ActionEvent evt) {  
                BT_Pesquisar1ActionPerformed(evt);  
            }  
        });  
        getContentPane().add(BT_Pesquisar1, new org.netbeans.lib.awtextra.AbsoluteConstraints(610, 90, 100, -1));  
        getContentPane().add(jTextField1, new org.netbeans.lib.awtextra.AbsoluteConstraints(430, 120, 110, -1));  
  
        TF_Pesquisa.addActionListener(new java.awt.event.ActionListener() {  
            public void actionPerformed(java.awt.event.ActionEvent evt) {  
                TF_PesquisaActionPerformed(evt);  
            }  
        });  
        getContentPane().add(TF_Pesquisa, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 90, 380, -1));  
  
        jComboBox1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));  
        getContentPane().add(jComboBox1, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 120, 110, -1));  
  
        LB_Instruções.setFont(new java.awt.Font("Tahoma", 0, 10));  
        LB_Instruções.setText("Código da Pulseira:");  
        getContentPane().add(LB_Instruções, new org.netbeans.lib.awtextra.AbsoluteConstraints(340, 120, 100, 14));  
  
        LB_Instruções1.setFont(new java.awt.Font("Tahoma", 0, 10));  
        LB_Instruções1.setText(":::_ Digite o nome do Produto ou o Código _:::");  
        getContentPane().add(LB_Instruções1, new org.netbeans.lib.awtextra.AbsoluteConstraints(300, 70, 220, 14));  
  
        jLabel1.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED, null, null, null, new java.awt.Color(0, 102, 151)));  
        getContentPane().add(jLabel1, new org.netbeans.lib.awtextra.AbsoluteConstraints(30, 180, 760, 390));  
  
        LB_Fundo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/Imagens/Tela.02.png"))); // NOI18N  
        getContentPane().add(LB_Fundo, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, -1, -1));  
        LB_Fundo.getAccessibleContext().setAccessibleDescription("");  
  
        getAccessibleContext().setAccessibleName("");  
        getAccessibleContext().setAccessibleDescription("");  
  
        pack();  
    }// </editor-fold>  
  
    private void BT_Pesquisar1ActionPerformed(java.awt.event.ActionEvent evt) {                                                
        try {  
            String comando = "select item_nome,item_quantidade,tipo,valor"  
                  + " FROM itens_pulseira WHERE cod_pulseira ='" +TF_Pesquisa.getText()+ "'";    
            PreparedStatement prep = con_Cadastro.conexao.prepareStatement(comando);    
            //esse retornaConexao está tratando da conexão com o bd.    
            ResultSet rs = prep.executeQuery();    
  
            rs.next();  
            //se for Varchar ou char usa rs.getString    
            String nome = rs.getString("item_nome");     
            int quantidade = rs.getInt("item_quantidade");  
            String tipo = rs.getString("tipo");  
            float telcel = rs.getFloat("valor");  
             
              
             
              
       
            } catch (SQLException e){    
            JOptionPane.showMessageDialog(null, "Cliente não encontrado!");    
            e.printStackTrace();    
            } catch (Exception e){    
            e.printStackTrace();    
            }   
    }                                               
  
    private void TF_PesquisaActionPerformed(java.awt.event.ActionEvent evt) {  
        // TODO add your handling code here:  
    }  
  
    public static void main(String args[]) {  
        /* Set the Nimbus look and feel */  
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">  
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. 
         * For details see[url]http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html[/url]  
         */  
        try {  
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {  
                if ("Nimbus".equals(info.getName())) {  
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());  
                    break;  
                }  
            }  
        } catch (ClassNotFoundException ex) {  
            java.util.logging.Logger.getLogger(Consumo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);  
        } catch (InstantiationException ex) {  
            java.util.logging.Logger.getLogger(Consumo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);  
        } catch (IllegalAccessException ex) {  
            java.util.logging.Logger.getLogger(Consumo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);  
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {  
            java.util.logging.Logger.getLogger(Consumo.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);  
        }  
        //</editor-fold>  
  
        /* Create and display the form */  
        java.awt.EventQueue.invokeLater(new Runnable() {  
  
            public void run() {  
                new Consumo().setVisible(true);  
            }  
        });  
    }  
    // Variables declaration - do not modify  
    private javax.swing.JButton BT_Pesquisar1;  
    private javax.swing.JLabel LB_Fundo;  
    private javax.swing.JLabel LB_Instruções;  
    private javax.swing.JLabel LB_Instruções1;  
    public javax.swing.JTextField TF_Pesquisa;  
    private javax.swing.JButton jButton3;  
    private javax.swing.JComboBox jComboBox1;  
    private javax.swing.JLabel jLabel1;  
    private javax.swing.JScrollBar jScrollBar1;  
    private javax.swing.JScrollPane jScrollPane2;  
    private javax.swing.JTable jTable2;  
    private javax.swing.JTextField jTextField1;  
    // End of variables declaration  
}

é o código completo, se alguem poder me ajudar a inserir os registros no Jtable agradeço.

Abraços.

1 Resposta

furacao123

Melhor maneira é utilizar um TableModel, cria uma classe extendendo o AbstractTableModel, nela voce passa uma lista dos objetos que voce quer que apareca na tabela.

Da uma procurada por implementando TableModel, é facil e fica bem melhor.

Criado 24 de novembro de 2011
Ultima resposta 24 de nov. de 2011
Respostas 1
Participantes 2