Problema ao exibir dados do banco no ComboBox

7 respostas
dfarias

Olá, pessoal.
Eu consegui fazer em outro jFrame e consegui. Só que nesse novo jFrame eu não estou conseguido, aparece “entidade” e uns numeros no lugar dos dados verdadeiros.

pq isso está acontecendo?
preciso postar o meu codigo completo ,w?

7 Respostas

yhhik

isso é a referencia…
basta sobrescrever o método toString com o nome que vc quer em seu been.

J

acredito eu q o seu comboBox esta pegando o Objeto inteiro,
tenta postar o código aae pa gente
ou passa apenas uma String po JComboBox
:smiley:

Trebloc

Você está usando um ComboBoxModel personalizado? Se sim, é só fazer com que o método getElementAt(int) retorne a informação que você quer da entidade. Esse método que o JComboBox usa pra mostrar os elementos.

Ou se você não está usando e nem quer usar isso, pode alterar o toString() da sua classe pra retornar o que você quer, como o yhhik falou. Por padrão, o toString() retorna o nome da classe + @ + o hashCode do objeto.

G

dfarias:
Olá, pessoal.
Eu consegui fazer em outro jFrame e consegui. Só que nesse novo jFrame eu não estou conseguido, aparece “entidade” e uns numeros no lugar dos dados verdadeiros.

pq isso está acontecendo?
preciso postar o meu codigo completo ,w?

Olá, você esta passando o objeto (Entidade) para dentro do JComboBox, passe somente o campo que vc quer exibir entende. Este é o Problema.

Exemplo:

jcbMeuComboBox.add(Entidade.getNomeAluno());
yhhik

ou vc pode mandar o objeto td como eu disse:

public class Objto {

private int id;
private String nome;
private String cor;
private String descricao;

//gettes e settes

	@Override
	public String toString() {
		return  nome ;
	}
}

e só sobrescrever com o método toString para mostrar apenas o nome do objeto no comboBox..
assim se vc precisar de outra informação como id do objto vc não precisará fazer comparações ou fazer um nova pesquisa.

dfarias

eu tow usando o comboBox para pegar dados do banco e fazer a exibição.
o que mais me intriga é que eu fiz dois frames, um funcionou e o outro não.

Segue abaixo o que funcionou.

dfarias

resolvi postar o código que está dando problema.

jFrame
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * frmLivro2.java
 *
 * Created on 18/02/2012, 23:11:51
 */
package Frame;

import DAO.LivroDAO;
import DAO.UsuarioDAO;
import DAO.AutorDAO;
import DAO.EditoraDAO;
import DAO.CategoriaDAO;
import Entidade.Livro;
import Entidade.Usuario;
import Entidade.Autor;
import Entidade.Editora;
import Entidade.Categoria;
import java.sql.SQLException;
import java.util.List;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.ListSelectionModel;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
import javax.swing.table.DefaultTableModel;

/**
 *
 * @author Daniel
 */
public class frmLivro2 extends javax.swing.JDialog {

    DefaultTableModel tmLivro = new DefaultTableModel(null, new String[]{"TITULO","ISBN","QTD","PRECO"});
    List<Livro> livro;                                              
    ListSelectionModel lsmLivro;
//                                                        titulo, isbn, quantide, preco
    
    /** Creates new form frmLivro2 */
    public frmLivro2(java.awt.Frame parent, boolean modal) throws SQLException {
        super(parent, modal);
        initComponents();
        carregadadosIniciais();
        carregaComboeditora();
        
        ///
     
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        jPanel2 = new javax.swing.JPanel();
        jLtitulo = new javax.swing.JLabel();
        jLISBN = new javax.swing.JLabel();
        jLautor = new javax.swing.JLabel();
        jLcategoria = new javax.swing.JLabel();
        jCombocategoria = new javax.swing.JComboBox();
        jLedicao = new javax.swing.JLabel();
        jTedicao = new javax.swing.JTextField();
        jTqtd = new javax.swing.JTextField();
        jLqtd = new javax.swing.JLabel();
        jLpreco = new javax.swing.JLabel();
        jTpreco = new javax.swing.JTextField();
        jTtitulo = new javax.swing.JTextField();
        jTISBN = new javax.swing.JTextField();
        combo = new javax.swing.JComboBox();
        jPanel3 = new javax.swing.JPanel();
        jButton1 = new javax.swing.JButton();
        jButton2 = new javax.swing.JButton();
        jButton3 = new javax.swing.JButton();
        jButton4 = new javax.swing.JButton();
        jButton5 = new javax.swing.JButton();
        jPanel4 = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTlivro = new javax.swing.JTable();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Cadastro Livro", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Calibri", 0, 14), new java.awt.Color(0, 0, 0))); // NOI18N

        jLtitulo.setText("Título:");

        jLISBN.setText("ISBN:");

        jLautor.setText("AutorNome: ");

        jLcategoria.setText("CategoriaNome:");

        jCombocategoria.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));

        jLedicao.setText("Edição: ");

        jTedicao.setText(" ");

        jTqtd.setText(" ");

        jLqtd.setText("Qtd");

        jLpreco.setText("Preço");

        jTpreco.setText(" ");

        jTtitulo.setText(" ");

        jTISBN.setText(" ");

        javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel2Layout.createSequentialGroup()
                        .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                .addGroup(jPanel2Layout.createSequentialGroup()
                                    .addComponent(jLpreco)
                                    .addGap(18, 18, 18)
                                    .addComponent(jTpreco, javax.swing.GroupLayout.PREFERRED_SIZE, 54, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGroup(jPanel2Layout.createSequentialGroup()
                                    .addComponent(jLcategoria)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jCombocategoria, javax.swing.GroupLayout.PREFERRED_SIZE, 107, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addGap(31, 31, 31)
                                    .addComponent(jLedicao)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jTedicao, javax.swing.GroupLayout.PREFERRED_SIZE, 125, javax.swing.GroupLayout.PREFERRED_SIZE)))
                            .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()
                                    .addComponent(jLtitulo)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jTtitulo)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                    .addComponent(jLISBN)
                                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                    .addComponent(jTISBN, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGroup(javax.swing.GroupLayout.Alignment.LEADING, jPanel2Layout.createSequentialGroup()
                                    .addComponent(jLautor)
                                    .addGap(18, 18, 18)
                                    .addComponent(combo, javax.swing.GroupLayout.PREFERRED_SIZE, 226, javax.swing.GroupLayout.PREFERRED_SIZE))))
                        .addContainerGap(115, Short.MAX_VALUE))
                    .addGroup(jPanel2Layout.createSequentialGroup()
                        .addComponent(jLqtd)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 24, Short.MAX_VALUE)
                        .addComponent(jTqtd, javax.swing.GroupLayout.PREFERRED_SIZE, 39, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(335, 335, 335))))
        );

        jPanel2Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jTISBN, jTedicao, jTpreco, jTqtd});

        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel2Layout.createSequentialGroup()
                .addGap(11, 11, 11)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLtitulo)
                    .addComponent(jTtitulo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLISBN)
                    .addComponent(jTISBN, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLautor)
                    .addComponent(combo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLcategoria)
                    .addComponent(jCombocategoria, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLedicao)
                    .addComponent(jTedicao, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18)
                .addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLqtd)
                    .addComponent(jTqtd, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLpreco)
                    .addComponent(jTpreco, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap(17, Short.MAX_VALUE))
        );

        jPanel2Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jTISBN, jTedicao, jTpreco, jTqtd, jTtitulo});

        jButton1.setText("Novo");

        jButton2.setText("Alterar");

        jButton3.setText("Excluir");

        jButton4.setText("Salvar");

        jButton5.setText("Voltar");
        jButton5.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton5ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
        jPanel3.setLayout(jPanel3Layout);
        jPanel3Layout.setHorizontalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel3Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jButton1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButton2)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jButton3)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jButton4)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jButton5)
                .addContainerGap(30, Short.MAX_VALUE))
        );

        jPanel3Layout.linkSize(javax.swing.SwingConstants.HORIZONTAL, new java.awt.Component[] {jButton1, jButton2, jButton3, jButton4, jButton5});

        jPanel3Layout.setVerticalGroup(
            jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jButton1)
                    .addComponent(jButton2)
                    .addComponent(jButton3)
                    .addComponent(jButton4)
                    .addComponent(jButton5))
                .addGap(51, 51, 51))
        );

        jPanel3Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {jButton1, jButton2, jButton3, jButton4, jButton5});

        jTlivro.setModel(tmLivro);
        jTlivro.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
        lsmLivro= jTlivro.getSelectionModel();
        lsmLivro.addListSelectionListener(new ListSelectionListener() { public void valueChanged(ListSelectionEvent e) { if (! e.getValueIsAdjusting()){ jTTabelaLinhaSelecionada(jTlivro); } }
        });
        jScrollPane1.setViewportView(jTlivro);

        javax.swing.GroupLayout jPanel4Layout = new javax.swing.GroupLayout(jPanel4);
        jPanel4.setLayout(jPanel4Layout);
        jPanel4Layout.setHorizontalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 427, Short.MAX_VALUE)
                .addContainerGap())
        );
        jPanel4Layout.setVerticalGroup(
            jPanel4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel4Layout.createSequentialGroup()
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 165, Short.MAX_VALUE)
                .addContainerGap())
        );

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addGap(26, 26, 26)
                        .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(jPanel1Layout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, 42, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(jPanel4, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, 475, Short.MAX_VALUE)
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addContainerGap())
        );

        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
        setBounds((screenSize.width-511)/2, (screenSize.height-512)/2, 511, 512);
    }// </editor-fold>

private void jButton5ActionPerformed(java.awt.event.ActionEvent evt) {                                         
setVisible(false);
}                                        

    /**
     * @param args the command line arguments
     */
    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 http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
         */
        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(frmLivro2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(frmLivro2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(frmLivro2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(frmLivro2.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the dialog */
        java.awt.EventQueue.invokeLater(new Runnable() {

            public void run() {
                frmLivro2 dialog = null;
                try {
                    dialog = new frmLivro2(new javax.swing.JFrame(), true);
                } catch (SQLException ex) {
                    Logger.getLogger(frmLivro2.class.getName()).log(Level.SEVERE, null, ex);
                }
                dialog.addWindowListener(new java.awt.event.WindowAdapter() {

                    @Override
                    public void windowClosing(java.awt.event.WindowEvent e) {
                        System.exit(0);
                    }
                });
                dialog.setVisible(true);
            }
        });
    }
    // Variables declaration - do not modify
    private javax.swing.JComboBox combo;
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JButton jButton3;
    private javax.swing.JButton jButton4;
    private javax.swing.JButton jButton5;
    private javax.swing.JComboBox jCombocategoria;
    private javax.swing.JLabel jLISBN;
    private javax.swing.JLabel jLautor;
    private javax.swing.JLabel jLcategoria;
    private javax.swing.JLabel jLedicao;
    private javax.swing.JLabel jLpreco;
    private javax.swing.JLabel jLqtd;
    private javax.swing.JLabel jLtitulo;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JPanel jPanel3;
    private javax.swing.JPanel jPanel4;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextField jTISBN;
    private javax.swing.JTextField jTedicao;
    private javax.swing.JTable jTlivro;
    private javax.swing.JTextField jTpreco;
    private javax.swing.JTextField jTqtd;
    private javax.swing.JTextField jTtitulo;
    // End of variables declaration


     public void jTTabelaLinhaSelecionada (JTable tabela) {
    if (jTlivro.getSelectedRow()!= -1){
       
        jTtitulo.setText(livro.get(tabela.getSelectedRow()).getTitulo());
        jTISBN.setText(String.valueOf(livro.get(tabela.getSelectedRow()).getISBN()));
        //combobox
        
        jTedicao.setText(livro.get(tabela.getSelectedRow()).getEdicao());
        jTqtd.setText(String.valueOf(livro.get(tabela.getSelectedRow()).getQuantidade()));
        jTpreco.setText(String.valueOf(livro.get(tabela.getSelectedRow()).getPreco()));
        
        
        
        
   
        
    } else {
       jTtitulo.setText("");
      jTISBN.setText("");
        
                          
        }
        
    }

    private void carregadadosIniciais() throws SQLException {
        LivroDAO dao = new LivroDAO();
        livro=dao.getAllLivros();
        mostraPesquisa(livro);
    }

    private void mostraPesquisa(List<Livro> livro) {
              while (tmLivro.getRowCount()>0){
              tmLivro.removeRow(0);
        }
        if (livro.size() == 0) {
            JOptionPane.showMessageDialog(null, "Não há livros cadastrados");
           // carregadadosIniciais();
        
        } else {
            String[] linha = new String[]{null, null, null,null};
            
            //mostra o resultado da pesquisa e seus respectivos indices   
            for (int i = 0; i < livro.size(); i++) {
                tmLivro.addRow(linha); 
                //campos da tabela
                tmLivro.setValueAt(livro.get(i).getTitulo(), i, 0);
                tmLivro.setValueAt(livro.get(i).getISBN(), i, 1);
                //tmLivro.setValueAt(livro.get(i).getAutor_id(), i, 2);
                //tmLivro.setValueAt(livro.get(i).getCategoria_id(), i, 3);
               // tmLivro.setValueAt(livro.get(i).getEditora_id(), i, 4);
               // tmLivro.setValueAt(livro.get(i).getEdicao(), i, 5);
                tmLivro.setValueAt(livro.get(i).getQuantidade(), i, 2);
                tmLivro.setValueAt(livro.get(i).getPreco(), i, 3);
 
                                                        }
         

        }
    }

    private void carregaCombo() {
        carregaComboautor();
        carregaComboeditora();
        carregaCombocategoria();
        
        
    }

    private void carregaComboautor() {
          try {
            UsuarioDAO daoUsuario = new  UsuarioDAO();
            Vector<Usuario> usu = new Vector<Usuario>(daoUsuario.getAllUsuarios());
            DefaultComboBoxModel dcbm = new DefaultComboBoxModel(usu);
            combo.setModel(dcbm);
            
        } catch (Exception ex) {
            ex.printStackTrace();
            Logger.getLogger(frmAdicionarItemVenda.class.getName()).log(Level.SEVERE, null, ex);
            JOptionPane.showMessageDialog(this, "Erro livros");
        }
        }
    

    private void carregaComboeditora() {
            try {
            EditoraDAO daoEditora = new  EditoraDAO();
            Vector<Editora> ed = new Vector<Editora>(daoEditora.getAllEditora());
            DefaultComboBoxModel dcbm = new DefaultComboBoxModel(ed);
            //jComboeditora.setModel(dcbm);
            
        } catch (Exception ex) {
            ex.printStackTrace();
            Logger.getLogger(frmAdicionarItemVenda.class.getName()).log(Level.SEVERE, null, ex);
            JOptionPane.showMessageDialog(this, "Erro ao carregar editoras");
        }
    }

    private void carregaCombocategoria() {
           try {
            CategoriaDAO daoCategoria = new  CategoriaDAO();
            Vector<Categoria> cat = new Vector<Categoria>(daoCategoria.getAllCategoria());
            DefaultComboBoxModel dcbm = new DefaultComboBoxModel(cat);
            jCombocategoria.setModel(dcbm);
            
        } catch (Exception ex) {
            ex.printStackTrace();
            Logger.getLogger(frmAdicionarItemVenda.class.getName()).log(Level.SEVERE, null, ex);
            JOptionPane.showMessageDialog(this, "Erro ao carregar categorias");
        }
    }

   
}

entidade categoria(economizar espaço, só essa é o suficiente)

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Entidade;

/**
 *
 * @author Daniel
 */
public class Categoria {
   
    private String nome;
    private int id;

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Categoria other = (Categoria) obj;
        if ((this.nome == null) ? (other.nome != null) : !this.nome.equals(other.nome)) {
            return false;
        }
        if (this.id != other.id) {
            return false;
        }
        return true;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 83 * hash + (this.nome != null ? this.nome.hashCode() : 0);
        hash = 83 * hash + this.id;
        return hash;
    }

    @Override
    public String toString() {
        return "Categoria{" + "nome=" + nome + ", id=" + id + '}';
    }
    
    
}

CategoriaDAO

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package DAO;

import Conecta.CriaConexao;
import Entidade.Categoria;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Daniel
 */
public class CategoriaDAO {

    private Connection conexao;

    public CategoriaDAO() throws SQLException {
        this.conexao = CriaConexao.getConexao();
    }

    public void adiciona(Categoria cat) throws SQLException {
        String sql = "INSERT INTO CATEGORIA (NOME_CAT) VALUES (?)";

        PreparedStatement stmt = conexao.prepareStatement(sql);
        stmt.setString(1, cat.getNome());

        stmt.execute();
        stmt.close();
        
    }
    public void altera(Categoria cat) throws SQLException {
        String sql = "UPDATE CATEGORRIA SET NOME_cat = ? WHERE CAT_ID = ?";

        PreparedStatement stmt = conexao.prepareStatement(sql);
        stmt.setString(1, cat.getNome());
        stmt.setInt(2, cat.getId());

        stmt.execute();
        stmt.close();
        
    }
    public void exclui(Categoria cat) throws SQLException {
        String sql = "DELETE FROM CATEGORIA WHERE CAT_ID = ?";

        PreparedStatement stmt = conexao.prepareStatement(sql);
        stmt.setInt(1, cat.getId());

        stmt.execute();
        stmt.close();
        
    }
    
        public List<Categoria> getAllCategoria() throws SQLException {//pega todos os dados

        String sql = "SELECT * FROM CATEGORIA";
        PreparedStatement stmt = this.conexao.prepareStatement(sql);
        
        ResultSet rs = stmt.executeQuery();

        List<Categoria> minhaLista = new ArrayList<Categoria>();
        while (rs.next()) {
            Categoria cat = new Categoria();
            cat.setId(rs.getInt("CAT_ID"));
            cat.setNome(rs.getString("NOME_CAT"));
           
            
            minhaLista.add(cat);
        }

        rs.close();
        stmt.close();
        return minhaLista;

    }
        public List<Categoria> getLista(String nome) throws SQLException {//pega todos os dados
    
        String sql = "EXEC USP_PESQUISA_NOME_CATEGORIA ? "; //NAO FOI CRIADO AINDA
        
        PreparedStatement stmt = this.conexao.prepareStatement(sql);
        stmt.setString(1, nome);
        ResultSet rs = stmt.executeQuery();

        List<Categoria> minhaLista = new ArrayList<Categoria>();
        while (rs.next()) {
            Categoria cat = new Categoria ();
            cat.setId(rs.getInt("CAT_ID"));
            cat.setNome(rs.getString("NOME_CAT"));
            
            minhaLista.add(cat);
        }

        rs.close();
        stmt.close();
        return minhaLista;

    }
    
    
}
Criado 21 de fevereiro de 2012
Ultima resposta 21 de fev. de 2012
Respostas 7
Participantes 5