Como selecionar uma dado de um combobox e inserir numa Jtable

Oi. :smiley:
A jtable não tá listando.
O comobobox mostra uma lista igual a:
br.com.Dominio.Autor[codAutor=1][b] e assim sucessivamente.

Veja como tá toda a estrutura do meu formulário:

[code]/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */
    package br.com.Visao;

import br.com.Dominio.Autor;
import br.com.Dominio.Editora;
import br.com.Dominio.Exemplar;
import br.com.Dominio.Livro;
import br.com.Dominio.Secao;
import br.com.Persistencia.AutorDAO;
import br.com.Persistencia.ExemplarDAO;
import br.com.Persistencia.HibernateUtil;
import br.com.Persistencia.LivroDAO;
import br.com.Visao.TableModels.TableModelAutor;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.List;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JComboBox;
import javax.swing.JOptionPane;
import javax.swing.JTextField;
import javax.swing.text.MaskFormatter;
import org.hibernate.HibernateException;
import org.hibernate.Session;

/**
*

  • @author Junior
    */
    public class CadastrarLivro extends javax.swing.JFrame {

    MaskFormatter daCadastro;
    private TableModelAutor tabelaModelAutor;

    /**

    • Creates new form CadastroLivro
      */
      public CadastrarLivro() {

      try {
      daCadastro = new MaskFormatter("##/##/####");
      daCadastro.setPlaceholderCharacter(’_’);
      } catch (ParseException ex) {
      Logger.getLogger(CadastrarLivro.class.getName()).log(Level.SEVERE, null, ex);
      }

      List entidadeAutores = AutorDAO.recuperarListaDeAutores();
      tabelaModelAutor = new TableModelAutor(entidadeAutores);

      initComponents();

      popularComboboxEditora();
      popularComboboxSecao();
      popularComboboxAutor();
      mostrarDataAtualCadastro();

      cmdSelecionarAutor.setSelectedIndex(-1);
      cmdSelecionarEditora.setSelectedIndex(-1);
      cmdSelecionarSecao.setSelectedIndex(-1);
      }

    /**

    • 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”)
      //
      private void initComponents() {

      pnlDesign = new javax.swing.JPanel();
      pnlCadastroObra = new javax.swing.JPanel();
      camposObrigatoriosLivro = new javax.swing.JLabel();
      codLivro = new javax.swing.JTextField();
      codigo = new javax.swing.JLabel();
      pnlDadosObra = new javax.swing.JPanel();
      referencia = new javax.swing.JLabel();
      campoObrigatorio10 = new javax.swing.JLabel();
      nuReferencia = new javax.swing.JTextField();
      volume = new javax.swing.JLabel();
      campoObrigatorio11 = new javax.swing.JLabel();
      nuVolume = new javax.swing.JTextField();
      edicao = new javax.swing.JLabel();
      campoObrigatorio12 = new javax.swing.JLabel();
      nuEdicao = new javax.swing.JTextField();
      anoEdicao = new javax.swing.JLabel();
      campoObrigatorio13 = new javax.swing.JLabel();
      nuAnoEdicao = new javax.swing.JTextField();
      isbn = new javax.swing.JLabel();
      campoObrigatorio14 = new javax.swing.JLabel();
      nuISBN = new javax.swing.JTextField();
      pnlInformacoesGerais = new javax.swing.JPanel();
      txtituloObra = new javax.swing.JTextField();
      tituloObra = new javax.swing.JLabel();
      campoObrigatorio1 = new javax.swing.JLabel();
      nudataCadastro = new javax.swing.JFormattedTextField(daCadastro);
      dataCadastro = new javax.swing.JLabel();
      numeroExemplar = new javax.swing.JLabel();
      campoObrigatorio7 = new javax.swing.JLabel();
      nuExemplare = new javax.swing.JTextField();
      secao = new javax.swing.JLabel();
      campoObrigatorio3 = new javax.swing.JLabel();
      cmdSelecionarSecao = new javax.swing.JComboBox();
      editora = new javax.swing.JLabel();
      campoObrigatorio8 = new javax.swing.JLabel();
      cmdSelecionarEditora = new javax.swing.JComboBox();
      txObservacao = new javax.swing.JTextField();
      observacao = new javax.swing.JLabel();
      btnSair = new javax.swing.JButton();
      jCheckBoxGravarVariosExemplaresLivro = new javax.swing.JCheckBox();
      jCheckBoxNaoDisponibilizarEmprestimoLivro = new javax.swing.JCheckBox();
      pnlAutor = new javax.swing.JPanel();
      Autor = new javax.swing.JLabel();
      cmdSelecionarAutor = new javax.swing.JComboBox();
      btnAdicionarAutor = new javax.swing.JButton();
      btnExcluirAutor = new javax.swing.JButton();
      campoObrigatorio4 = new javax.swing.JLabel();
      jScrollPane1 = new javax.swing.JScrollPane();
      jTbAutor = new javax.swing.JTable();
      btnSalvar = new javax.swing.JButton();
      btnLimpar = new javax.swing.JButton();
      MenuLivro = new javax.swing.JMenuBar();
      MenuCadastroLivro = new javax.swing.JMenu();

      setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
      setTitle("Sistema de Controle Bibliotecário [Cadastrar Obra] ");
      setResizable(false);

      pnlDesign.setBackground(new java.awt.Color(0, 102, 153));
      pnlDesign.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));

      javax.swing.GroupLayout pnlDesignLayout = new javax.swing.GroupLayout(pnlDesign);
      pnlDesign.setLayout(pnlDesignLayout);
      pnlDesignLayout.setHorizontalGroup(
      pnlDesignLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGap(0, 857, Short.MAX_VALUE)
      );
      pnlDesignLayout.setVerticalGroup(
      pnlDesignLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGap(0, 0, Short.MAX_VALUE)
      );

      pnlCadastroObra.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));

      camposObrigatoriosLivro.setFont(new java.awt.Font(“Tahoma”, 2, 11));
      camposObrigatoriosLivro.setForeground(java.awt.Color.red);
      camposObrigatoriosLivro.setText("* Campos de preenchimento obrigatório");

      codLivro.setEditable(false);
      codLivro.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      codLivroActionPerformed(evt);
      }
      });

      codigo.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      codigo.setText(“Código:”);

      pnlDadosObra.setBorder(javax.swing.BorderFactory.createTitledBorder(""));

      referencia.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      referencia.setText(“Referência:”);

      campoObrigatorio10.setFont(new java.awt.Font(“Tahoma”, 2, 11));
      campoObrigatorio10.setForeground(java.awt.Color.red);
      campoObrigatorio10.setText("* ");

      volume.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      volume.setText(“Volume:”);

      campoObrigatorio11.setFont(new java.awt.Font(“Tahoma”, 2, 11));
      campoObrigatorio11.setForeground(java.awt.Color.red);
      campoObrigatorio11.setText("* ");

      nuVolume.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      nuVolumeActionPerformed(evt);
      }
      });

      edicao.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      edicao.setText(“Edição:”);

      campoObrigatorio12.setFont(new java.awt.Font(“Tahoma”, 2, 11));
      campoObrigatorio12.setForeground(java.awt.Color.red);
      campoObrigatorio12.setText("* ");

      anoEdicao.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      anoEdicao.setText(“Ano de Edição:”);

      campoObrigatorio13.setFont(new java.awt.Font(“Tahoma”, 2, 11));
      campoObrigatorio13.setForeground(java.awt.Color.red);
      campoObrigatorio13.setText("* ");

      isbn.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      isbn.setText(“ISBN:”);

      campoObrigatorio14.setFont(new java.awt.Font(“Tahoma”, 2, 11));
      campoObrigatorio14.setForeground(java.awt.Color.red);
      campoObrigatorio14.setText("* ");

      javax.swing.GroupLayout pnlDadosObraLayout = new javax.swing.GroupLayout(pnlDadosObra);
      pnlDadosObra.setLayout(pnlDadosObraLayout);
      pnlDadosObraLayout.setHorizontalGroup(
      pnlDadosObraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlDadosObraLayout.createSequentialGroup()
      .addGroup(pnlDadosObraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
      .addGroup(pnlDadosObraLayout.createSequentialGroup()
      .addComponent(campoObrigatorio13, javax.swing.GroupLayout.DEFAULT_SIZE, 9, Short.MAX_VALUE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addGroup(pnlDadosObraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(anoEdicao, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlDadosObraLayout.createSequentialGroup()
      .addGap(2, 2, 2)
      .addComponent(campoObrigatorio10, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(referencia, javax.swing.GroupLayout.DEFAULT_SIZE, 64, Short.MAX_VALUE))
      .addGroup(pnlDadosObraLayout.createSequentialGroup()
      .addGroup(pnlDadosObraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
      .addGroup(pnlDadosObraLayout.createSequentialGroup()
      .addGap(19, 19, 19)
      .addComponent(campoObrigatorio11, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(volume, javax.swing.GroupLayout.DEFAULT_SIZE, 45, Short.MAX_VALUE))
      .addGroup(javax.swing.GroupLayout.Alignment.LEADING, pnlDadosObraLayout.createSequentialGroup()
      .addGap(25, 25, 25)
      .addComponent(campoObrigatorio12, javax.swing.GroupLayout.DEFAULT_SIZE, 9, Short.MAX_VALUE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(edicao, javax.swing.GroupLayout.DEFAULT_SIZE, 39, Short.MAX_VALUE)))
      .addGap(2, 2, 2))))
      .addGroup(pnlDadosObraLayout.createSequentialGroup()
      .addGap(52, 52, 52)
      .addComponent(campoObrigatorio14, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(isbn, javax.swing.GroupLayout.DEFAULT_SIZE, 29, Short.MAX_VALUE)))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addGroup(pnlDadosObraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(nuReferencia, javax.swing.GroupLayout.DEFAULT_SIZE, 109, Short.MAX_VALUE)
      .addComponent(nuVolume, javax.swing.GroupLayout.DEFAULT_SIZE, 109, Short.MAX_VALUE)
      .addComponent(nuEdicao, javax.swing.GroupLayout.DEFAULT_SIZE, 109, Short.MAX_VALUE)
      .addComponent(nuISBN, javax.swing.GroupLayout.DEFAULT_SIZE, 109, Short.MAX_VALUE)
      .addComponent(nuAnoEdicao, javax.swing.GroupLayout.DEFAULT_SIZE, 109, Short.MAX_VALUE))
      .addContainerGap())
      );
      pnlDadosObraLayout.setVerticalGroup(
      pnlDadosObraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlDadosObraLayout.createSequentialGroup()
      .addContainerGap()
      .addGroup(pnlDadosObraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlDadosObraLayout.createSequentialGroup()
      .addGap(6, 6, 6)
      .addComponent(referencia, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addGroup(pnlDadosObraLayout.createSequentialGroup()
      .addGap(6, 6, 6)
      .addComponent(campoObrigatorio10, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addComponent(nuReferencia))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      .addGroup(pnlDadosObraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlDadosObraLayout.createSequentialGroup()
      .addGap(6, 6, 6)
      .addComponent(volume, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addGroup(pnlDadosObraLayout.createSequentialGroup()
      .addGap(6, 6, 6)
      .addComponent(campoObrigatorio11, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addComponent(nuVolume))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      .addGroup(pnlDadosObraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlDadosObraLayout.createSequentialGroup()
      .addGap(6, 6, 6)
      .addComponent(edicao, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addGroup(pnlDadosObraLayout.createSequentialGroup()
      .addGap(6, 6, 6)
      .addComponent(campoObrigatorio12, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addComponent(nuEdicao))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addGroup(pnlDadosObraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlDadosObraLayout.createSequentialGroup()
      .addGroup(pnlDadosObraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(anoEdicao, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addComponent(campoObrigatorio13, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addGap(6, 6, 6))
      .addComponent(nuAnoEdicao))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addGroup(pnlDadosObraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlDadosObraLayout.createSequentialGroup()
      .addGap(6, 6, 6)
      .addComponent(isbn, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addGroup(pnlDadosObraLayout.createSequentialGroup()
      .addGap(6, 6, 6)
      .addComponent(campoObrigatorio14, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addComponent(nuISBN))
      .addGap(24, 24, 24))
      );

      pnlInformacoesGerais.setBorder(javax.swing.BorderFactory.createTitledBorder(""));

      txtituloObra.setToolTipText(“Nome da obra sem abreviação”);

      tituloObra.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      tituloObra.setText(“Título da Obra:”);

      campoObrigatorio1.setFont(new java.awt.Font(“Tahoma”, 2, 11));
      campoObrigatorio1.setForeground(java.awt.Color.red);
      campoObrigatorio1.setText("* ");

      nudataCadastro.setEditable(false);
      nudataCadastro.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      nudataCadastroActionPerformed(evt);
      }
      });

      dataCadastro.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      dataCadastro.setText(“Data de Cadastro:”);

      numeroExemplar.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      numeroExemplar.setText(“N° de Exemplares:”);

      campoObrigatorio7.setFont(new java.awt.Font(“Tahoma”, 2, 11));
      campoObrigatorio7.setForeground(java.awt.Color.red);
      campoObrigatorio7.setText("* ");

      nuExemplare.setToolTipText(“Informação necessária para gravação de vários exemplares iguais”);

      secao.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      secao.setText(“Seção:”);

      campoObrigatorio3.setFont(new java.awt.Font(“Tahoma”, 2, 11));
      campoObrigatorio3.setForeground(java.awt.Color.red);
      campoObrigatorio3.setText("* ");

      cmdSelecionarSecao.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      cmdSelecionarSecao.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “- Selecione -”, " " }));

      editora.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      editora.setText(“Editora:”);

      campoObrigatorio8.setFont(new java.awt.Font(“Tahoma”, 2, 11));
      campoObrigatorio8.setForeground(java.awt.Color.red);
      campoObrigatorio8.setText("* ");

      cmdSelecionarEditora.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      cmdSelecionarEditora.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “- Selecione -” }));

      txObservacao.setToolTipText(“Observação, caso seja necessário…”);

      observacao.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      observacao.setText(“Observação:”);

      javax.swing.GroupLayout pnlInformacoesGeraisLayout = new javax.swing.GroupLayout(pnlInformacoesGerais);
      pnlInformacoesGerais.setLayout(pnlInformacoesGeraisLayout);
      pnlInformacoesGeraisLayout.setHorizontalGroup(
      pnlInformacoesGeraisLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlInformacoesGeraisLayout.createSequentialGroup()
      .addGroup(pnlInformacoesGeraisLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlInformacoesGeraisLayout.createSequentialGroup()
      .addGroup(pnlInformacoesGeraisLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
      .addGroup(pnlInformacoesGeraisLayout.createSequentialGroup()
      .addGap(65, 65, 65)
      .addComponent(campoObrigatorio3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(secao, javax.swing.GroupLayout.DEFAULT_SIZE, 37, Short.MAX_VALUE))
      .addGroup(javax.swing.GroupLayout.Alignment.LEADING, pnlInformacoesGeraisLayout.createSequentialGroup()
      .addComponent(campoObrigatorio7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(numeroExemplar, javax.swing.GroupLayout.DEFAULT_SIZE, 102, Short.MAX_VALUE))
      .addGroup(pnlInformacoesGeraisLayout.createSequentialGroup()
      .addGap(20, 20, 20)
      .addComponent(campoObrigatorio1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(tituloObra, javax.swing.GroupLayout.DEFAULT_SIZE, 82, Short.MAX_VALUE)))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addGroup(pnlInformacoesGeraisLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlInformacoesGeraisLayout.createSequentialGroup()
      .addGroup(pnlInformacoesGeraisLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
      .addGroup(javax.swing.GroupLayout.Alignment.LEADING, pnlInformacoesGeraisLayout.createSequentialGroup()
      .addComponent(nuExemplare, javax.swing.GroupLayout.DEFAULT_SIZE, 46, Short.MAX_VALUE)
      .addGap(107, 107, 107))
      .addComponent(cmdSelecionarSecao, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.PREFERRED_SIZE, 153, javax.swing.GroupLayout.PREFERRED_SIZE))
      .addGap(55, 55, 55)
      .addGroup(pnlInformacoesGeraisLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
      .addGroup(pnlInformacoesGeraisLayout.createSequentialGroup()
      .addGap(27, 27, 27)
      .addComponent(dataCadastro, javax.swing.GroupLayout.DEFAULT_SIZE, 101, Short.MAX_VALUE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(nudataCadastro, javax.swing.GroupLayout.DEFAULT_SIZE, 81, Short.MAX_VALUE))
      .addGroup(pnlInformacoesGeraisLayout.createSequentialGroup()
      .addComponent(campoObrigatorio8, javax.swing.GroupLayout.DEFAULT_SIZE, 9, Short.MAX_VALUE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(editora, javax.swing.GroupLayout.DEFAULT_SIZE, 43, Short.MAX_VALUE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(cmdSelecionarEditora, javax.swing.GroupLayout.PREFERRED_SIZE, 151, javax.swing.GroupLayout.PREFERRED_SIZE))))
      .addComponent(txtituloObra, javax.swing.GroupLayout.DEFAULT_SIZE, 421, Short.MAX_VALUE))
      .addGap(0, 0, 0))
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlInformacoesGeraisLayout.createSequentialGroup()
      .addGap(47, 47, 47)
      .addComponent(observacao, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(txObservacao, javax.swing.GroupLayout.PREFERRED_SIZE, 421, javax.swing.GroupLayout.PREFERRED_SIZE)))
      .addContainerGap())
      );
      pnlInformacoesGeraisLayout.setVerticalGroup(
      pnlInformacoesGeraisLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlInformacoesGeraisLayout.createSequentialGroup()
      .addContainerGap()
      .addGroup(pnlInformacoesGeraisLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlInformacoesGeraisLayout.createSequentialGroup()
      .addGap(6, 6, 6)
      .addComponent(tituloObra, javax.swing.GroupLayout.DEFAULT_SIZE, 15, Short.MAX_VALUE))
      .addGroup(pnlInformacoesGeraisLayout.createSequentialGroup()
      .addGap(6, 6, 6)
      .addComponent(campoObrigatorio1, javax.swing.GroupLayout.DEFAULT_SIZE, 15, Short.MAX_VALUE))
      .addComponent(txtituloObra, javax.swing.GroupLayout.DEFAULT_SIZE, 21, Short.MAX_VALUE))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      .addGroup(pnlInformacoesGeraisLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlInformacoesGeraisLayout.createSequentialGroup()
      .addGap(6, 6, 6)
      .addComponent(numeroExemplar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addGroup(pnlInformacoesGeraisLayout.createSequentialGroup()
      .addGap(6, 6, 6)
      .addComponent(campoObrigatorio7, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addGroup(pnlInformacoesGeraisLayout.createSequentialGroup()
      .addGap(6, 6, 6)
      .addComponent(dataCadastro, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addGroup(pnlInformacoesGeraisLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(nuExemplare)
      .addComponent(nudataCadastro)))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      .addGroup(pnlInformacoesGeraisLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlInformacoesGeraisLayout.createSequentialGroup()
      .addGap(8, 8, 8)
      .addComponent(campoObrigatorio3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addGroup(pnlInformacoesGeraisLayout.createSequentialGroup()
      .addGap(8, 8, 8)
      .addComponent(secao, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addGroup(pnlInformacoesGeraisLayout.createSequentialGroup()
      .addGap(8, 8, 8)
      .addComponent(campoObrigatorio8, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addGroup(pnlInformacoesGeraisLayout.createSequentialGroup()
      .addGap(8, 8, 8)
      .addComponent(editora, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addGroup(pnlInformacoesGeraisLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(cmdSelecionarSecao)
      .addComponent(cmdSelecionarEditora)))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      .addGroup(pnlInformacoesGeraisLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlInformacoesGeraisLayout.createSequentialGroup()
      .addGap(6, 6, 6)
      .addComponent(observacao, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addComponent(txObservacao))
      .addContainerGap())
      );

      btnSair.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      btnSair.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/Recursos/button_cancel.png"))); // NOI18N
      btnSair.setText(“Cancelar”);
      btnSair.setMaximumSize(new java.awt.Dimension(95, 25));
      btnSair.setMinimumSize(new java.awt.Dimension(95, 25));
      btnSair.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      btnSairActionPerformed(evt);
      }
      });

      jCheckBoxGravarVariosExemplaresLivro.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      jCheckBoxGravarVariosExemplaresLivro.setText(“Gravação de vários exemplares iguais.”);

      jCheckBoxNaoDisponibilizarEmprestimoLivro.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      jCheckBoxNaoDisponibilizarEmprestimoLivro.setText(“Não disponibilizar para empréstimo.”);

      pnlAutor.setBorder(javax.swing.BorderFactory.createTitledBorder(null, “”, javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font(“Tahoma”, 1, 11))); // NOI18N

      Autor.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      Autor.setText(“Autor(es):”);

      cmdSelecionarAutor.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      cmdSelecionarAutor.setModel(new javax.swing.DefaultComboBoxModel(new String[] { “- Selecione -” }));
      cmdSelecionarAutor.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      cmdSelecionarAutorActionPerformed(evt);
      }
      });
      cmdSelecionarAutor.addFocusListener(new java.awt.event.FocusAdapter() {
      public void focusGained(java.awt.event.FocusEvent evt) {
      cmdSelecionarAutorFocusGained(evt);
      }
      });

      btnAdicionarAutor.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      btnAdicionarAutor.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/Recursos/button_ok.png"))); // NOI18N
      btnAdicionarAutor.setText(“Adicionar autor à obra”);
      btnAdicionarAutor.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      btnAdicionarAutorActionPerformed(evt);
      }
      });

      btnExcluirAutor.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      btnExcluirAutor.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/Recursos/button_cancel.png"))); // NOI18N
      btnExcluirAutor.setText(“Excluir autor da obra”);

      campoObrigatorio4.setFont(new java.awt.Font(“Tahoma”, 2, 11));
      campoObrigatorio4.setForeground(java.awt.Color.red);
      campoObrigatorio4.setText("* ");

      jTbAutor.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.RAISED));
      jTbAutor.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      jTbAutor.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 [] {
      “Código”, “Nome do Autor”
      }
      ) {
      boolean[] canEdit = new boolean [] {
      false, false
      };

       public boolean isCellEditable(int rowIndex, int columnIndex) {
           return canEdit [columnIndex];
       }
      

      });
      jScrollPane1.setViewportView(jTbAutor);

      javax.swing.GroupLayout pnlAutorLayout = new javax.swing.GroupLayout(pnlAutor);
      pnlAutor.setLayout(pnlAutorLayout);
      pnlAutorLayout.setHorizontalGroup(
      pnlAutorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlAutorLayout.createSequentialGroup()
      .addGroup(pnlAutorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
      .addGroup(pnlAutorLayout.createSequentialGroup()
      .addGap(72, 72, 72)
      .addComponent(jScrollPane1, 0, 0, Short.MAX_VALUE))
      .addGroup(javax.swing.GroupLayout.Alignment.LEADING, pnlAutorLayout.createSequentialGroup()
      .addComponent(campoObrigatorio4)
      .addGap(1, 1, 1)
      .addComponent(Autor)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addGroup(pnlAutorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlAutorLayout.createSequentialGroup()
      .addComponent(btnAdicionarAutor, javax.swing.GroupLayout.PREFERRED_SIZE, 212, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addGap(44, 44, 44)
      .addComponent(btnExcluirAutor, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addComponent(cmdSelecionarAutor, 0, 470, Short.MAX_VALUE))))
      .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      );
      pnlAutorLayout.setVerticalGroup(
      pnlAutorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlAutorLayout.createSequentialGroup()
      .addGroup(pnlAutorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlAutorLayout.createSequentialGroup()
      .addGap(8, 8, 8)
      .addComponent(Autor, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addGroup(pnlAutorLayout.createSequentialGroup()
      .addGap(8, 8, 8)
      .addComponent(campoObrigatorio4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addComponent(cmdSelecionarAutor))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addGroup(pnlAutorLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
      .addComponent(btnExcluirAutor, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addComponent(btnAdicionarAutor, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 116, Short.MAX_VALUE)
      .addContainerGap())
      );

      btnSalvar.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      btnSalvar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/Recursos/button_ok.png"))); // NOI18N
      btnSalvar.setText(“Salvar”);
      btnSalvar.setMaximumSize(new java.awt.Dimension(95, 25));
      btnSalvar.setMinimumSize(new java.awt.Dimension(95, 25));
      btnSalvar.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      btnSalvarActionPerformed(evt);
      }
      });

      btnLimpar.setFont(new java.awt.Font(“Tahoma”, 1, 11));
      btnLimpar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/Recursos/CCleaner-64.png"))); // NOI18N
      btnLimpar.setText(“Limpar”);
      btnLimpar.setMaximumSize(new java.awt.Dimension(95, 25));
      btnLimpar.setMinimumSize(new java.awt.Dimension(95, 25));
      btnLimpar.addActionListener(new java.awt.event.ActionListener() {
      public void actionPerformed(java.awt.event.ActionEvent evt) {
      btnLimparActionPerformed(evt);
      }
      });

      javax.swing.GroupLayout pnlCadastroObraLayout = new javax.swing.GroupLayout(pnlCadastroObra);
      pnlCadastroObra.setLayout(pnlCadastroObraLayout);
      pnlCadastroObraLayout.setHorizontalGroup(
      pnlCadastroObraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlCadastroObraLayout.createSequentialGroup()
      .addGroup(pnlCadastroObraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlCadastroObraLayout.createSequentialGroup()
      .addGap(208, 208, 208)
      .addComponent(camposObrigatoriosLivro)
      .addGap(0, 175, Short.MAX_VALUE))
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlCadastroObraLayout.createSequentialGroup()
      .addContainerGap()
      .addGroup(pnlCadastroObraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
      .addComponent(pnlAutor, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addComponent(pnlInformacoesGerais, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addGroup(pnlCadastroObraLayout.createSequentialGroup()
      .addComponent(btnSalvar, javax.swing.GroupLayout.PREFERRED_SIZE, 93, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(btnLimpar, javax.swing.GroupLayout.PREFERRED_SIZE, 97, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 267, Short.MAX_VALUE)
      .addComponent(btnSair, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))))
      .addGap(12, 12, 12)
      .addGroup(pnlCadastroObraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlCadastroObraLayout.createSequentialGroup()
      .addComponent(codigo)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      .addComponent(codLivro, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addGap(63, 63, 63))
      .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlCadastroObraLayout.createSequentialGroup()
      .addGap(2, 2, 2)
      .addGroup(pnlCadastroObraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlCadastroObraLayout.createSequentialGroup()
      .addComponent(jCheckBoxNaoDisponibilizarEmprestimoLivro, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addGap(16, 16, 16))
      .addComponent(jCheckBoxGravarVariosExemplaresLivro, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
      .addContainerGap())
      .addGroup(pnlCadastroObraLayout.createSequentialGroup()
      .addComponent(pnlDadosObra, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addGap(20, 20, 20))))
      );
      pnlCadastroObraLayout.setVerticalGroup(
      pnlCadastroObraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlCadastroObraLayout.createSequentialGroup()
      .addContainerGap()
      .addGroup(pnlCadastroObraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlCadastroObraLayout.createSequentialGroup()
      .addGap(6, 6, 6)
      .addComponent(camposObrigatoriosLivro, javax.swing.GroupLayout.DEFAULT_SIZE, 15, Short.MAX_VALUE))
      .addGroup(pnlCadastroObraLayout.createSequentialGroup()
      .addGap(6, 6, 6)
      .addComponent(codigo, javax.swing.GroupLayout.DEFAULT_SIZE, 15, Short.MAX_VALUE))
      .addComponent(codLivro, javax.swing.GroupLayout.DEFAULT_SIZE, 21, Short.MAX_VALUE))
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addGroup(pnlCadastroObraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(pnlCadastroObraLayout.createSequentialGroup()
      .addComponent(pnlDadosObra, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addGap(48, 48, 48)
      .addComponent(jCheckBoxGravarVariosExemplaresLivro, javax.swing.GroupLayout.DEFAULT_SIZE, 24, Short.MAX_VALUE)
      .addGap(27, 27, 27)
      .addComponent(jCheckBoxNaoDisponibilizarEmprestimoLivro, javax.swing.GroupLayout.DEFAULT_SIZE, 25, Short.MAX_VALUE)
      .addGap(92, 92, 92))
      .addGroup(pnlCadastroObraLayout.createSequentialGroup()
      .addComponent(pnlInformacoesGerais, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
      .addComponent(pnlAutor, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addGroup(pnlCadastroObraLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
      .addComponent(btnSair, javax.swing.GroupLayout.PREFERRED_SIZE, 28, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(btnSalvar, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addComponent(btnLimpar, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))))
      .addContainerGap())
      );

      MenuCadastroLivro.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/Recursos/Cópia de icone-livro.png"))); // NOI18N
      MenuCadastroLivro.setText(“Cadastro de Livro”);
      MenuCadastroLivro.setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
      MenuCadastroLivro.setEnabled(false);
      MenuCadastroLivro.setFont(new java.awt.Font(“Tahoma”, 1, 12));
      MenuCadastroLivro.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
      MenuCadastroLivro.setVerticalAlignment(javax.swing.SwingConstants.BOTTOM);
      MenuCadastroLivro.setVerticalTextPosition(javax.swing.SwingConstants.BOTTOM);
      MenuLivro.add(MenuCadastroLivro);

      setJMenuBar(MenuLivro);

      javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
      getContentPane().setLayout(layout);
      layout.setHorizontalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addComponent(pnlDesign, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addGroup(layout.createSequentialGroup()
      .addGap(10, 10, 10)
      .addComponent(pnlCadastroObra, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addGap(10, 10, 10))
      );
      layout.setVerticalGroup(
      layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
      .addGroup(layout.createSequentialGroup()
      .addComponent(pnlDesign, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
      .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
      .addComponent(pnlCadastroObra, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
      .addContainerGap())
      );

      pack();
      java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
      java.awt.Dimension dialogSize = getSize();
      setLocation((screenSize.width-dialogSize.width)/2,(screenSize.height-dialogSize.height)/2);
      }//

    private void codLivroActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    }

    private void nudataCadastroActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    }

    private void nuVolumeActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    }

    private void btnAdicionarAutorActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:}
    }
    private void btnSalvarActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    try {
    cadastrarLivro();
    } catch (Exception e) {
    JOptionPane.showMessageDialog(null, "Erro ao cadastrar! Causa: " + e);
    }
    }

    private void btnSairActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    Object[] options = {“Sim”, “Não”};
    int i = JOptionPane.showOptionDialog(null,
    “Tem certeza que deseja cancelar o cadastro?”, “Saída”,
    JOptionPane.YES_NO_OPTION, JOptionPane.QUESTION_MESSAGE, null,
    options, options[1]);
    if (i == JOptionPane.YES_OPTION) {
    System.exit(0);
    }
    }

    private void btnLimparActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    limparCamposLivro();
    }

    private void cmdSelecionarAutorActionPerformed(java.awt.event.ActionEvent evt) {
    // TODO add your handling code here:
    }

    private void cmdSelecionarAutorFocusGained(java.awt.event.FocusEvent evt) {
    // TODO add your handling code here:
    cmdSelecionarAutor.addItemListener(new ItemListener() {

         @Override
         public void itemStateChanged(ItemEvent e) {
             JComboBox comboboxAutor = (JComboBox) e.getSource();
             cmdSelecionarAutor.getModel().getSelectedItem();
             jTbAutor.getModel().addTableModelListener(jTbAutor);
         }
     });
    

    }

    /**

    • @param args the command line arguments
      */
      public static void main(String args[]) {

      /*

      • Set the Nimbus look and feel
        /
        //
        /
      • 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(CadastrarLivro.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
        java.util.logging.Logger.getLogger(CadastrarLivro.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
        java.util.logging.Logger.getLogger(CadastrarLivro.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
        java.util.logging.Logger.getLogger(CadastrarLivro.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //

      /*

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

        @Override
        public void run() {
        new CadastrarLivro().setVisible(true);
        }
        });
        }
        // Variables declaration - do not modify
        private javax.swing.JLabel Autor;
        private javax.swing.JMenu MenuCadastroLivro;
        private javax.swing.JMenuBar MenuLivro;
        private javax.swing.JLabel anoEdicao;
        private javax.swing.JButton btnAdicionarAutor;
        private javax.swing.JButton btnExcluirAutor;
        private javax.swing.JButton btnLimpar;
        private javax.swing.JButton btnSair;
        private javax.swing.JButton btnSalvar;
        private javax.swing.JLabel campoObrigatorio1;
        private javax.swing.JLabel campoObrigatorio10;
        private javax.swing.JLabel campoObrigatorio11;
        private javax.swing.JLabel campoObrigatorio12;
        private javax.swing.JLabel campoObrigatorio13;
        private javax.swing.JLabel campoObrigatorio14;
        private javax.swing.JLabel campoObrigatorio3;
        private javax.swing.JLabel campoObrigatorio4;
        private javax.swing.JLabel campoObrigatorio7;
        private javax.swing.JLabel campoObrigatorio8;
        private javax.swing.JLabel camposObrigatoriosLivro;
        private javax.swing.JComboBox cmdSelecionarAutor;
        private javax.swing.JComboBox cmdSelecionarEditora;
        private javax.swing.JComboBox cmdSelecionarSecao;
        private javax.swing.JTextField codLivro;
        private javax.swing.JLabel codigo;
        private javax.swing.JLabel dataCadastro;
        private javax.swing.JLabel edicao;
        private javax.swing.JLabel editora;
        private javax.swing.JLabel isbn;
        private javax.swing.JCheckBox jCheckBoxGravarVariosExemplaresLivro;
        private javax.swing.JCheckBox jCheckBoxNaoDisponibilizarEmprestimoLivro;
        private javax.swing.JScrollPane jScrollPane1;
        private javax.swing.JTable jTbAutor;
        private javax.swing.JTextField nuAnoEdicao;
        private javax.swing.JTextField nuEdicao;
        private javax.swing.JTextField nuExemplare;
        private javax.swing.JTextField nuISBN;
        private javax.swing.JTextField nuReferencia;
        private javax.swing.JTextField nuVolume;
        private javax.swing.JFormattedTextField nudataCadastro;
        private javax.swing.JLabel numeroExemplar;
        private javax.swing.JLabel observacao;
        private javax.swing.JPanel pnlAutor;
        private javax.swing.JPanel pnlCadastroObra;
        private javax.swing.JPanel pnlDadosObra;
        private javax.swing.JPanel pnlDesign;
        private javax.swing.JPanel pnlInformacoesGerais;
        private javax.swing.JLabel referencia;
        private javax.swing.JLabel secao;
        private javax.swing.JLabel tituloObra;
        private javax.swing.JTextField txObservacao;
        private javax.swing.JTextField txtituloObra;
        private javax.swing.JLabel volume;
        // End of variables declaration
        private Livro NovoLivro;
        List editoras;
        List secoes;
        // List autores;
        TableModelAutor TmAutor;
        short disp = 0;
        short indisp = 1;

    /**Método para preencher todos os valores nos componentes do formulário.

    • @param livro

    • @return
      */
      public Livro preencherCamposLivro(Livro livro) {
      livro.setTxTitulo(txtituloObra.getText());
      livro.setNuReferencia(Integer.valueOf(nuReferencia.getText()));
      livro.setNuEdicao(Integer.valueOf(nuEdicao.getText()));
      livro.setNuAnoEdicao(Integer.valueOf(nuAnoEdicao.getText()));
      livro.setNuExemplar(Integer.valueOf(nuExemplare.getText()));
      livro.setTxObservacao(txObservacao.getText());
      /Formatar campo para receber data./
      SimpleDateFormat formatoLocal = new SimpleDateFormat(“dd/MM/yyyy”);
      try {
      livro.setDaCadastro(formatoLocal.parse(nudataCadastro.getText()));
      } catch (ParseException ex) {
      Logger.getLogger(CadastrarAluno.class.getName()).log(Level.SEVERE, null, ex);
      }

      livro.setCodEditora(null);
      livro.setCodSecao(null);
      livro.setAutor(null);

      livro.setNuVolume(Integer.valueOf(nuVolume.getText()));
      livro.setNuISBN(Integer.valueOf(nuISBN.getText()));

      return livro;
      }

    /**Método para gravar exemplares de uma obra.

    • @param exemplar
      */
      public void gravarExemplar(Exemplar exemplar) {
      for (int i = 0; i < Integer.valueOf(nuExemplare.getText()); i++) {
      exemplar.getCodItemBiblioteca();
      exemplar.setInEmprestimo(disp);
      exemplar.setInConsulta(disp);
      if (jCheckBoxNaoDisponibilizarEmprestimoLivro.isSelected() | i == 0) {
      exemplar.setInConsulta(indisp);
      }
      }
      ExemplarDAO.fabricaExemplarDAO().salvar(new Exemplar());
      }

    private void popularComboboxEditora() {
    Session sessao = HibernateUtil.getSessionFactory().openSession();
    editoras = sessao.createQuery(“FROM Editora”).list();
    if (editoras.isEmpty()) {
    JOptionPane.showMessageDialog(null, “Nenhum registro de Editora foi encontrado.”);
    } else {
    cmdSelecionarEditora.removeAllItems();
    for (int i = 0; i < editoras.size(); i++) {
    cmdSelecionarEditora.addItem(editoras.get(i).getNoEditora());
    }

     }
     sessao.close();
    

    }

    private void popularComboboxSecao() {
    Session sessao = HibernateUtil.getSessionFactory().openSession();
    secoes = sessao.createQuery(“FROM Secao”).list();
    if (secoes.isEmpty()) {
    JOptionPane.showMessageDialog(null, “Nenhum registro de Seção foi encontrado.”);
    } else {
    cmdSelecionarSecao.removeAllItems();
    for (int i = 0; i < secoes.size(); i++) {
    cmdSelecionarSecao.addItem(secoes.get(i).getNoSecao());
    }
    }
    sessao.close();
    }

    private void popularComboboxAutor() {

     try {
         cmdSelecionarAutor.removeAllItems();
         List<Autor> entidadeAutores = AutorDAO.recuperarListaDeAutores();
    
         if (entidadeAutores.isEmpty()) {
             JOptionPane.showMessageDialog(null, "Nenhum autor foi encontrado.");
         } else {
             for (Autor entidadeAutor : entidadeAutores) {
                 cmdSelecionarAutor.addItem(entidadeAutor);
             }
         }
     } catch (HibernateException hibernateException) {
         //JOptionPane.showMessageDialog(String.format("%s - %s", "Erro no banco de dados!", hibernateException.getMessage()));
     }
    

    }

    public void cadastrarLivro() {
    if (txtituloObra.getText() == null || nuExemplare.getText() == null
    || cmdSelecionarSecao.getSelectedItem() == null || nudataCadastro.getText() == null
    || cmdSelecionarEditora.getSelectedItem() == null
    || nuReferencia.getText() == null || nuVolume.getText() == null
    || nuAnoEdicao.getText() == null || nuISBN.getText() == null) {
    JOptionPane.showMessageDialog(null, “Há campo(s) obrigatório(s) vazio(s)!”);
    } else {
    LivroDAO.fabricaLivroDAO().salvar(preencherCamposLivro(new Livro()));
    limparCamposLivro();
    JOptionPane.showMessageDialog(null, “Livro inserido com sucesso!”);
    mostrarDataAtualCadastro();
    }
    }

    /**Mostra a data e hora atual do computador.*/
    private void mostrarDataAtualCadastro() {
    String data = (new java.text.SimpleDateFormat(“dd/MM/yyyy”).format(new java.util.Date(System.currentTimeMillis())));
    nudataCadastro.setText(data);
    }

    private void limparCamposLivro() {
    for (int i = 0; i < pnlCadastroObra.getComponentCount(); i++) {
    if (pnlCadastroObra.getComponent(i) instanceof JTextField) {
    ((JTextField) pnlCadastroObra.getComponent(i)).setText("");
    }
    }
    for (int i = 0; i < pnlDadosObra.getComponentCount(); i++) {
    if (pnlDadosObra.getComponent(i) instanceof JTextField) {
    ((JTextField) pnlDadosObra.getComponent(i)).setText("");
    }
    }
    for (int i = 0; i < pnlInformacoesGerais.getComponentCount(); i++) {
    if (pnlInformacoesGerais.getComponent(i) instanceof JTextField) {
    ((JTextField) pnlInformacoesGerais.getComponent(i)).setText("");
    }
    }
    for (int i = 0; i < pnlAutor.getComponentCount(); i++) {
    if (pnlAutor.getComponent(i) instanceof JTextField) {
    ((JTextField) pnlAutor.getComponent(i)).setText("");
    }
    }

     cmdSelecionarAutor.setSelectedIndex(-1);
     cmdSelecionarEditora.setSelectedIndex(-1);
     cmdSelecionarSecao.setSelectedIndex(-1);
     mostrarDataAtualCadastro();
    

    }
    }
    [/code]

E minha classe AutorDAO:

[code]/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */
    package br.com.Persistencia;

import br.com.Dominio.Autor;
import java.util.List;
import org.hibernate.HibernateException;
import org.hibernate.Session;

/**
*

  • @author Jackeline
    */
    public class AutorDAO extends GenericHibernateDAO<Autor, Integer> {

    public static AutorDAO fabricaAutorDAO() {
    return new AutorDAO();
    }

    public static List recuperarListaDeAutores() throws HibernateException {

     Session sessao = HibernateUtil.getSessionFactory().openSession();
     return sessao.createQuery("FROM Autor").list();
    

    }
    }
    [/code]

Até.

Oi.

Tem como transformar br.com.Dominio.Autor[codAutor=1] em algo que seja entendido pelo usuario?

No método de popular o combobox do autor:

[code] private void popularComboboxAutor() {

    try {
        cmdSelecionarAutor.removeAllItems();
        List<Autor> entidadeAutores = AutorDAO.recuperarListaDeAutores();

        if (entidadeAutores.isEmpty()) {
            JOptionPane.showMessageDialog(null, "Nenhum autor foi encontrado.");
        } else {
            for (Autor entidadeAutor : entidadeAutores) {
                cmdSelecionarAutor.setModel(new DefaultComboBoxModel(entidadeAutores.toArray()));
            }
        }
    } catch (HibernateException hibernateException) {
        JOptionPane.showMessageDialog(String.format("%s - %s", "Erro no banco de dados!", hibernateException.getMessage()));
    }

}[/code]

Dá erro aqui:

Diz que [color=blue]no suitable method found for showMessageDialog(java.lang.String)
method javax.swing.JOptionPane.showMessageDialog(java.awt.Component,java.lang.Object,java.lang.String,int,javax.swing.Icon) is not applicable
(actual and formal argument lists differ in length)
method javax.swing.JOptionPane.showMessageDialog(java.awt.Component,java.lang.Object,java.lang.String,int) is not applicable
(actual and formal argument lists differ in length)
method javax.swing.JOptionPane.showMessageDialog(java.awt.Component,java.lang.Object) is not applicable
(actual and formal argument lists differ in length)[/color]

Até.

[quote=Jackye]Oi.

Tem como transformar br.com.Dominio.Autor[codAutor=1] em algo que seja entendido pelo usuario?
[/quote]
Sim, sobrescreva o método toString() da sua classe Autor. O que você retornar é o que será exibido.

[quote=Jackye]
Dá erro aqui:

Faltou o primeiro parâmetro do método showMessageDialog.
Mude o código para:

catch (HibernateException hibernateException) { JOptionPane.showMessageDialog(null, String.format("%s - %s", "Erro no banco de dados!", hibernateException.getMessage())); }

Espero ter ajudado,
fique com Deus! :smiley:

Oi.

Já modifiquei lá na classe Autor o ToString.

Agora, ainda não tô conseguindo inserir o autor selecionado na tabela.
Devo inserir um laço for aqui:

[code]private void cmdSelecionarAutorFocusGained(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
cmdSelecionarAutor.addItemListener(new ItemListener() {

        @Override
        public void itemStateChanged(ItemEvent e) {
            JComboBox comboboxAutor = (JComboBox) e.getSource();
            cmdSelecionarAutor.getModel().getSelectedItem();
            jTbAutor.getModel().addTableModelListener(jTbAutor);

//Inserir o laço for aqui.
}
});
} [/code]
Ou tenho que fazer outro método na classe AutorDAO para isso?
Até.

[color=violet]Ps.: Obrigado por estar me ajudando[/color] :thumbup:

Uma questão:

Popular o combobox para que ele receba objeto do tipo classe de entidade fica até mais fácil de criar uma coleção?

Por exemplo, obra cria uma coleção de autores e essas coleções recebem atributo do tipo autor, não é?
Ou estou errada?

:lol:

[quote=Jackye]Oi.

Já modifiquei lá na classe Autor o ToString.

Agora, ainda não tô conseguindo inserir o autor selecionado na tabela.
Devo inserir um laço for aqui:

[code]private void cmdSelecionarAutorFocusGained(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
cmdSelecionarAutor.addItemListener(new ItemListener() {

        @Override
        public void itemStateChanged(ItemEvent e) {
            JComboBox comboboxAutor = (JComboBox) e.getSource();
            cmdSelecionarAutor.getModel().getSelectedItem();
            jTbAutor.getModel().addTableModelListener(jTbAutor);

//Inserir o laço for aqui.
}
});
} [/code]
Ou tenho que fazer outro método na classe AutorDAO para isso?
Até.

[color=violet]Ps.: Obrigado por estar me ajudando[/color] :thumbup: [/quote]

Crie no seu TableModel um método adicionarAutor, onde você recebe um objeto do tipo Autor como parâmetro e adiciona na tabela.[code]public void adicionarAutor(Autor entidadeAutor) {

this.autores.add(entidadeAutor);
fireTableRowsInserted(autores.size(), autores.size());

}[/code]
E, no seu evento da JComboBox:

[code]private void cmdSelecionarAutorFocusGained(java.awt.event.FocusEvent evt) {
// TODO add your handling code here:
cmdSelecionarAutor.addItemListener(new ItemListener() {

        @Override public void itemStateChanged(ItemEvent e) {
            Autor entidadeAutor = (Autor) ((JComboBox) e.getSource()).getSelectedItem();
            tablemodelAutores.adicionarAutor(entidadeAutor);
        }
   }

}[/code]

[quote=Jackye]Uma questão:

Popular o combobox para que ele receba objeto do tipo classe de entidade fica até mais fácil de criar uma coleção?

Por exemplo, obra cria uma coleção de autores e essas coleções recebem atributo do tipo autor, não é?
Ou estou errada?[/quote]
Não entendi sua dúvida. ‘-’

Espero ter ajudado,
fique com Deus! :smiley:

Oi.

Ainda não tô conseguindo inserir o autor na Table. :frowning:

Já coloque no TableModel o metodo de adiconar o autor:

public void adicionarAutor(Autor entidadeAutor) { this.autores.add(entidadeAutor); fireTableRowsInserted(autores.size(), autores.size()); }

Olha só lá no início do formulário:

[code]public class CadastrarLivro extends javax.swing.JFrame {

//Inicio a variavel tablemodel aqui:
private TableModelAutor tabelaModelAutor;

/**
 * Creates new form CadastroLivro
 */
public CadastrarLivro() {

//Este list ainda precisa estar aqui?
List entidadeAutores = AutorDAO.recuperarListaDeAutores();
//Dou um valor para a variavel criada inicialmente aqui
tabelaModelAutor = new TableModelAutor(entidadeAutores);

    initComponents();

//chamo o metodo pra preencher o combo assim que o formulario for carregado.
popularComboboxAutor();

    cmdSelecionarAutor.setSelectedIndex(-1);
}[/code]

Meu método popularComboboxAutor está assim, conforme me ajudou:

[code]private void popularComboboxAutor() {

    try {
        cmdSelecionarAutor.removeAllItems();
        List<Autor> entidadeAutores = AutorDAO.recuperarListaDeAutores();

        if (entidadeAutores.isEmpty()) {
            JOptionPane.showMessageDialog(null, "Nenhum autor foi encontrado.");
        } else {
            for (Autor entidadeAutor : entidadeAutores) {
                cmdSelecionarAutor.setModel(new DefaultComboBoxModel(entidadeAutores.toArray()));
            }
        }
    } catch (Exception generalException) {
        JOptionPane.showMessageDialog(null, String.format("%s - %s", "Erro geral!", generalException.getMessage()));
    }
}[/code]

E lá no AutorDAO tenho o método recuperarListaDeAutores():

[code]public static List recuperarListaDeAutores() throws HibernateException {

    Session sessao = HibernateUtil.getSessionFactory().openSession();
    return sessao.createQuery("FROM Autor").list();
}[/code]

A proposito, eu não deveria fechar essa sessao?

E por fim, no evento do combobox:

[code] cmdSelecionarAutor.addItemListener(new ItemListener() {

        @Override
        public void itemStateChanged(ItemEvent e) {
            Autor entidadeAutor = (Autor) ((JComboBox) e.getSource()).getSelectedItem();
            tabelaModelAutor.adicionarAutor(entidadeAutor);            
        }
    });[/code]

Quando escolho o autor no combobox nada acontece, o esperado era ele ser adicionado na tabela.