Inserir várias linhas com dados para cadastro em jTable

1 resposta
Dalvao

Boa noite pessoal,

Estou iniciando com desenvolvimento desktop e esbarrei em um pequeno problema o qual não estou conseguindo resolver.

Tenho um método que adiciona dados em uma jTable para serem persistidos(funciona perfeitamente).
O problema é que necessito inserir várias linhas na tabela antes de persistir os dados e a mesma só está aceitando uma única linha.

Segue código:

public class ProdutoForm extends AmbientJPanel implements Form{

private Produto produto = new Produto();

private ProdutoNeg produtoNeg = (ProdutoNeg) FabricaAbstrata.criarObjeto("produtoNeg");

private ProdutoForm produtoForm = this;

private InformacaoFiscal informacaoFiscal = new InformacaoFiscal();

private InformacaoFiscal informacaoFiscalSelecionado;

private List<InformacaoFiscal> informacoesFiscais = ObservableCollections.observableList(new ArrayList<InformacaoFiscal>());

private GrupoProduto grupoProduto;

/** Creates new form Produto */
public ProdutoForm() {
	initComponents();
	botoesForm1.setBotoesFormHandler(new BotoesFormHandler(){
		@Override
		public void confirmar() {

			try {

                                if(txtCodigo.getText() == null || txtCodigo.getText().length() == 0){
                                    JOptionPane.showMessageDialog(produtoForm, "CÓDIGO NÃO PODE SER NULO");
                                } else if(txtDescricao.getText() == null || txtDescricao.getText().length() == 0){
                                    JOptionPane.showMessageDialog(produtoForm, "DESCRIÇÃO NÃO PODE SER NULO");
                                } else if(txtValorUnitario.getText() == null || txtValorUnitario.getText().length() == 0){
                                    JOptionPane.showMessageDialog(produtoForm, "VALOR UNITÁRIO NÃO PODE SER NULO");
                                } else if(jTable1.getRowCount() < 1){
                                     JOptionPane.showMessageDialog(produtoForm, "INSIRA PELO MENOS UMA CFOP");
                                }

                                else{

				produtoNeg.alterar(produto);
				JOptionPane.showMessageDialog(produtoForm, "PRODUTO CONFIRMADO");
				setProduto(new Produto());
				txtGrupoProduto.setText("");
				chkAtivo.setText("");
				Facilite.retornar();
                                }

			} catch (Exception e) {
				JOptionPane.showMessageDialog(produtoForm, e.getMessage());
			}
		}

		@Override
		public void editar() {
			setModoEdicao(true);
		}
	});
}

/** 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">//GEN-BEGIN:initComponents
private void initComponents() {
    bindingGroup = new org.jdesktop.beansbinding.BindingGroup();

    converterMonetario1 = new br.com.ambientinformatica.swing.converter.ConverterMonetario();
    jPanel3 = new javax.swing.JPanel();
    txtCodigo = new javax.swing.JTextField();
    jLabel8 = new javax.swing.JLabel();
    jLabel9 = new javax.swing.JLabel();
    txtDescricao = new javax.swing.JTextField();
    txtValorUnitario = new javax.swing.JTextField();
    jLabel11 = new javax.swing.JLabel();
    jComboIndicadorArredondamento = new javax.swing.JComboBox();
    jLabel19 = new javax.swing.JLabel();
    jLabel20 = new javax.swing.JLabel();
    jComboIndicadorProducao = new javax.swing.JComboBox();
    jLabel12 = new javax.swing.JLabel();
    jComboUnidadeMedida = new javax.swing.JComboBox();
    jLabel1 = new javax.swing.JLabel();
    txtNcm = new javax.swing.JTextField();
    panelFotoProduto = new javax.swing.JPanel();
    txtFotoProduto = new javax.swing.JLabel();
    jPanel1 = new javax.swing.JPanel();
    jScrollPane1 = new javax.swing.JScrollPane();
    jTable1 = new javax.swing.JTable();
    jLabel10 = new javax.swing.JLabel();
    txtCfop = new javax.swing.JFormattedTextField();
    jLabel13 = new javax.swing.JLabel();
    jLabel14 = new javax.swing.JLabel();
    btnAddInformacaoFiscal = new javax.swing.JButton();
    txtCst = new javax.swing.JFormattedTextField();
    jLabel15 = new javax.swing.JLabel();
    txtGrupoProduto = new javax.swing.JTextField();
    btnBuscarLinhaProducao = new javax.swing.JButton();
    chkAtivo = new javax.swing.JCheckBox();
    txtAliquota = new javax.swing.JTextField();
    botoesForm1 = new br.com.ambientinformatica.facilite.view.BotoesForm();

    setLayout(null);

    jPanel3.setBorder(javax.swing.BorderFactory.createTitledBorder("DADOS DO PRODUTO"));
    jPanel3.setLayout(null);

    org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, org.jdesktop.beansbinding.ELProperty.create("${produto.codigo}"), txtCodigo, org.jdesktop.beansbinding.BeanProperty.create("text"));
    bindingGroup.addBinding(binding);

    txtCodigo.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            txtCodigoActionPerformed(evt);
        }
    });
    jPanel3.add(txtCodigo);
    txtCodigo.setBounds(10, 33, 130, 25);

    jLabel8.setFont(new java.awt.Font("DejaVu Sans", 0, 10));
    jLabel8.setText("CÓDIGO");
    jPanel3.add(jLabel8);
    jLabel8.setBounds(10, 20, 130, 10);

    jLabel9.setFont(new java.awt.Font("DejaVu Sans", 0, 10));
    jLabel9.setText("DESCRIÇÃO");
    jPanel3.add(jLabel9);
    jLabel9.setBounds(141, 20, 380, 10);

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, org.jdesktop.beansbinding.ELProperty.create("${produto.descricao}"), txtDescricao, org.jdesktop.beansbinding.BeanProperty.create("text"));
    bindingGroup.addBinding(binding);

    jPanel3.add(txtDescricao);
    txtDescricao.setBounds(141, 33, 385, 25);

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, org.jdesktop.beansbinding.ELProperty.create("${produto.valor}"), txtValorUnitario, org.jdesktop.beansbinding.BeanProperty.create("text"));
    binding.setConverter(converterMonetario1);
    bindingGroup.addBinding(binding);

    jPanel3.add(txtValorUnitario);
    txtValorUnitario.setBounds(527, 33, 100, 25);

    jLabel11.setFont(new java.awt.Font("DejaVu Sans", 0, 10));
    jLabel11.setText("VALOR UNITÁRIO");
    jPanel3.add(jLabel11);
    jLabel11.setBounds(527, 20, 100, 10);

    jComboIndicadorArredondamento.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Arredondamento", "Truncamento" }));

    org.jdesktop.beansbinding.ELProperty eLProperty = org.jdesktop.beansbinding.ELProperty.create("${tiposArredondamentos}");
    org.jdesktop.swingbinding.JComboBoxBinding jComboBoxBinding = org.jdesktop.swingbinding.SwingBindings.createJComboBoxBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, eLProperty, jComboIndicadorArredondamento);
    bindingGroup.addBinding(jComboBoxBinding);
    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, org.jdesktop.beansbinding.ELProperty.create("${produto.tipoArredondamento}"), jComboIndicadorArredondamento, org.jdesktop.beansbinding.BeanProperty.create("selectedItem"));
    bindingGroup.addBinding(binding);

    jPanel3.add(jComboIndicadorArredondamento);
    jComboIndicadorArredondamento.setBounds(276, 71, 175, 25);

    jLabel19.setFont(new java.awt.Font("DejaVu Sans", 0, 10));
    jLabel19.setText("INDICADOR A.T.");
    jPanel3.add(jLabel19);
    jLabel19.setBounds(276, 60, 175, 10);

    jLabel20.setFont(new java.awt.Font("DejaVu Sans", 0, 10));
    jLabel20.setText("INDICADOR PRODUÇÃO (IPPT)");
    jPanel3.add(jLabel20);
    jLabel20.setBounds(451, 60, 175, 10);

    jComboIndicadorProducao.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "Terceiros (T)", "Própria (P)" }));

    eLProperty = org.jdesktop.beansbinding.ELProperty.create("${tiposProducao}");
    jComboBoxBinding = org.jdesktop.swingbinding.SwingBindings.createJComboBoxBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, eLProperty, jComboIndicadorProducao);
    bindingGroup.addBinding(jComboBoxBinding);
    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, org.jdesktop.beansbinding.ELProperty.create("${produto.tipoProducao}"), jComboIndicadorProducao, org.jdesktop.beansbinding.BeanProperty.create("selectedItem"));
    bindingGroup.addBinding(binding);

    jPanel3.add(jComboIndicadorProducao);
    jComboIndicadorProducao.setBounds(451, 71, 175, 25);

    jLabel12.setFont(new java.awt.Font("DejaVu Sans", 0, 10));
    jLabel12.setText("UNIDADE DE MEDIDA");
    jPanel3.add(jLabel12);
    jLabel12.setBounds(10, 60, 130, 10);

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

    eLProperty = org.jdesktop.beansbinding.ELProperty.create("${unidadesMedida}");
    jComboBoxBinding = org.jdesktop.swingbinding.SwingBindings.createJComboBoxBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, eLProperty, jComboUnidadeMedida);
    bindingGroup.addBinding(jComboBoxBinding);
    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, org.jdesktop.beansbinding.ELProperty.create("${produto.unidadeMedida}"), jComboUnidadeMedida, org.jdesktop.beansbinding.BeanProperty.create("selectedItem"));
    bindingGroup.addBinding(binding);

    jPanel3.add(jComboUnidadeMedida);
    jComboUnidadeMedida.setBounds(10, 71, 130, 25);

    jLabel1.setFont(new java.awt.Font("DejaVu Sans", 0, 10));
    jLabel1.setText("NCM");
    jPanel3.add(jLabel1);
    jLabel1.setBounds(140, 60, 140, 10);
    jPanel3.add(txtNcm);
    txtNcm.setBounds(140, 71, 135, 25);

    panelFotoProduto.setBorder(javax.swing.BorderFactory.createTitledBorder("FOTO"));
    panelFotoProduto.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseClicked(java.awt.event.MouseEvent evt) {
            panelFotoProdutoMouseClicked(evt);
        }
    });
    panelFotoProduto.setLayout(null);

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, org.jdesktop.beansbinding.ELProperty.create("${imagemProduto}"), txtFotoProduto, org.jdesktop.beansbinding.BeanProperty.create("icon"));
    bindingGroup.addBinding(binding);

    panelFotoProduto.add(txtFotoProduto);
    txtFotoProduto.setBounds(10, 20, 140, 140);

    jPanel3.add(panelFotoProduto);
    panelFotoProduto.setBounds(629, 20, 161, 170);

    jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("INFORMAÇÕES FISCAIS ADICIONADAS"));
    jPanel1.setLayout(null);

    eLProperty = org.jdesktop.beansbinding.ELProperty.create("${informacoesFiscais}");
    org.jdesktop.swingbinding.JTableBinding jTableBinding = org.jdesktop.swingbinding.SwingBindings.createJTableBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, eLProperty, jTable1);
    org.jdesktop.swingbinding.JTableBinding.ColumnBinding columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${cfop}"));
    columnBinding.setColumnName("CFOP");
    columnBinding.setColumnClass(Integer.class);
    columnBinding.setEditable(false);
    columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${aliquota}"));
    columnBinding.setColumnName("ALÍQUOTA");
    columnBinding.setColumnClass(java.math.BigDecimal.class);
    columnBinding.setEditable(false);
    columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${cst}"));
    columnBinding.setColumnName("CST");
    columnBinding.setColumnClass(Integer.class);
    columnBinding.setEditable(false);
    bindingGroup.addBinding(jTableBinding);
    jTableBinding.bind();binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, org.jdesktop.beansbinding.ELProperty.create("${informacaoFiscalSelecionado}"), jTable1, org.jdesktop.beansbinding.BeanProperty.create("selectedElement"));
    bindingGroup.addBinding(binding);

    jTable1.addKeyListener(new java.awt.event.KeyAdapter() {
        public void keyPressed(java.awt.event.KeyEvent evt) {
            jTable1KeyPressed(evt);
        }
    });
    jScrollPane1.setViewportView(jTable1);

    jPanel1.add(jScrollPane1);
    jScrollPane1.setBounds(5, 20, 770, 120);

    jPanel3.add(jPanel1);
    jPanel1.setBounds(10, 187, 780, 150);

    jLabel10.setFont(new java.awt.Font("DejaVu Sans", 0, 10));
    jLabel10.setText("CFOP");
    jPanel3.add(jLabel10);
    jLabel10.setBounds(10, 147, 129, 10);

    try {
        txtCfop.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("####")));
    } catch (java.text.ParseException ex) {
        ex.printStackTrace();
    }

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, org.jdesktop.beansbinding.ELProperty.create("${informacaoFiscal.cfop}"), txtCfop, org.jdesktop.beansbinding.BeanProperty.create("value"));
    bindingGroup.addBinding(binding);

    jPanel3.add(txtCfop);
    txtCfop.setBounds(10, 160, 129, 25);

    jLabel13.setFont(new java.awt.Font("DejaVu Sans", 0, 10));
    jLabel13.setText("ALÍQUOTA ICMS");
    jPanel3.add(jLabel13);
    jLabel13.setBounds(140, 147, 140, 10);

    jLabel14.setFont(new java.awt.Font("DejaVu Sans", 0, 10));
    jLabel14.setText("CST");
    jPanel3.add(jLabel14);
    jLabel14.setBounds(281, 147, 175, 10);

    btnAddInformacaoFiscal.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/adicionar.png"))); // NOI18N
    btnAddInformacaoFiscal.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            btnAddInformacaoFiscalActionPerformed(evt);
        }
    });
    jPanel3.add(btnAddInformacaoFiscal);
    btnAddInformacaoFiscal.setBounds(460, 147, 45, 40);

    try {
        txtCst.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("###")));
    } catch (java.text.ParseException ex) {
        ex.printStackTrace();
    }

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, org.jdesktop.beansbinding.ELProperty.create("${informacaoFiscal.cst}"), txtCst, org.jdesktop.beansbinding.BeanProperty.create("value"));
    bindingGroup.addBinding(binding);

    jPanel3.add(txtCst);
    txtCst.setBounds(280, 160, 175, 25);

    jLabel15.setFont(new java.awt.Font("DejaVu Sans", 0, 10));
    jLabel15.setText("GRUPO PRODUTO");
    jPanel3.add(jLabel15);
    jLabel15.setBounds(10, 98, 130, 10);

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, org.jdesktop.beansbinding.ELProperty.create("${produto.grupoProduto.descricao}"), txtGrupoProduto, org.jdesktop.beansbinding.BeanProperty.create("text"));
    bindingGroup.addBinding(binding);

    jPanel3.add(txtGrupoProduto);
    txtGrupoProduto.setBounds(10, 110, 271, 25);

    btnBuscarLinhaProducao.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/procurar_16.png"))); // NOI18N
    btnBuscarLinhaProducao.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            btnBuscarLinhaProducaoActionPerformed(evt);
        }
    });
    jPanel3.add(btnBuscarLinhaProducao);
    btnBuscarLinhaProducao.setBounds(281, 110, 40, 25);

    chkAtivo.setText("ATIVO?");

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, org.jdesktop.beansbinding.ELProperty.create("${produto.ativo}"), chkAtivo, org.jdesktop.beansbinding.BeanProperty.create("selected"));
    bindingGroup.addBinding(binding);

    jPanel3.add(chkAtivo);
    chkAtivo.setBounds(330, 110, 130, 25);

    binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, this, org.jdesktop.beansbinding.ELProperty.create("${informacaoFiscal.aliquota}"), txtAliquota, org.jdesktop.beansbinding.BeanProperty.create("text"));
    bindingGroup.addBinding(binding);

    jPanel3.add(txtAliquota);
    txtAliquota.setBounds(140, 160, 140, 25);

    add(jPanel3);
    jPanel3.setBounds(0, 0, 797, 350);
    add(botoesForm1);
    botoesForm1.setBounds(505, 350, 290, 40);

    bindingGroup.bind();
}// </editor-fold>//GEN-END:initComponents

private void txtCodigoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_txtCodigoActionPerformed
}//GEN-LAST:event_txtCodigoActionPerformed

private void jTable1KeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jTable1KeyPressed
	if(evt.getKeyCode() == KeyEvent.VK_DELETE){
		try {
			produto.removeInformacaoFiscal(informacaoFiscal);
			informacoesFiscais.clear();
			informacoesFiscais.addAll(produto.getInformacoesFiscais());
			firePropertyChange("produto", null, produto);
			firePropertyChange("informacoesFiscais", null, informacoesFiscais);
		} catch (Exception e) {
			JOptionPane.showMessageDialog(this, e.getMessage());
		}
	}
}//GEN-LAST:event_jTable1KeyPressed

private void btnAddInformacaoFiscalActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnAddInformacaoFiscalActionPerformed
	try {
		produto.addInformacaoFiscal(informacaoFiscal);
		informacoesFiscais.clear();
		informacoesFiscais.addAll(produto.getInformacoesFiscais());
		setInformacaoFiscal(new InformacaoFiscal());
		firePropertyChange("informacoesComerciais", null, informacoesFiscais);
	} catch (Exception e) {

	}
}//GEN-LAST:event_btnAddInformacaoFiscalActionPerformed

private void panelFotoProdutoMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_panelFotoProdutoMouseClicked
	carregarArquivoFoto();
}//GEN-LAST:event_panelFotoProdutoMouseClicked

private void carregarArquivoFoto() {
	JFileChooser chooser = new JFileChooser();
	int result = chooser.showOpenDialog(this);
	if (result == JFileChooser.CANCEL_OPTION){
		return;
	}
	try {
		File file = chooser.getSelectedFile();
		byte [] imgBytes = UtilArquivo.lerInputStream(new FileInputStream(file));
                    imgBytes = UtilImagem.alterarResolucao(140, imgBytes);

		txtFotoProduto.setIcon(getImagemProduto());
		panelFotoProduto.add(txtFotoProduto);
		txtFotoProduto.setBounds(10, 20, 140, 140);

		Imagem imagem = produto.getImagem();
		if(imagem == null){
		   imagem = new Imagem();
		   produto.setImagem(imagem);
		}
		imagem.setDados(imgBytes);
		firePropertyChange("imagemProduto", null, getImagemProduto());

	}
	catch (Exception e) {
	   JOptionPane.showMessageDialog(this, e.getMessage());
	}
}

private void btnBuscarLinhaProducaoActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnBuscarLinhaProducaoActionPerformed
	GrupoProduto g = ConsultarGrupoProduto.mostrar();
	produto.setGrupoProduto(g);
}//GEN-LAST:event_btnBuscarLinhaProducaoActionPerformed


// Variables declaration - do not modify//GEN-BEGIN:variables
private br.com.ambientinformatica.facilite.view.BotoesForm botoesForm1;
private javax.swing.JButton btnAddInformacaoFiscal;
private javax.swing.JButton btnBuscarLinhaProducao;
private javax.swing.JCheckBox chkAtivo;
private br.com.ambientinformatica.swing.converter.ConverterMonetario converterMonetario1;
private javax.swing.JComboBox jComboIndicadorArredondamento;
private javax.swing.JComboBox jComboIndicadorProducao;
private javax.swing.JComboBox jComboUnidadeMedida;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel12;
private javax.swing.JLabel jLabel13;
private javax.swing.JLabel jLabel14;
private javax.swing.JLabel jLabel15;
private javax.swing.JLabel jLabel19;
private javax.swing.JLabel jLabel20;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JPanel jPanel1;
private javax.swing.JPanel jPanel3;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTable1;
private javax.swing.JPanel panelFotoProduto;
private javax.swing.JTextField txtAliquota;
private javax.swing.JFormattedTextField txtCfop;
private javax.swing.JTextField txtCodigo;
private javax.swing.JFormattedTextField txtCst;
private javax.swing.JTextField txtDescricao;
private javax.swing.JLabel txtFotoProduto;
private javax.swing.JTextField txtGrupoProduto;
private javax.swing.JTextField txtNcm;
private javax.swing.JTextField txtValorUnitario;
private org.jdesktop.beansbinding.BindingGroup bindingGroup;
// End of variables declaration//GEN-END:variables


private void setStatusCampos(boolean status){
	jComboIndicadorArredondamento.setEnabled(status);
	jComboIndicadorProducao.setEnabled(status);
	txtCodigo.setEnabled(status);
	txtDescricao.setEnabled(status);
	txtValorUnitario.setEnabled(status);
	jComboUnidadeMedida.setEnabled(status);
	txtNcm.setEnabled(status);
	jComboIndicadorArredondamento.setEnabled(status);
	jComboIndicadorProducao.setEnabled(status);
	txtGrupoProduto.setEnabled(status);
	btnBuscarLinhaProducao.setEnabled(status);
	chkAtivo.setEnabled(status);
	txtCfop.setEnabled(status);
	txtAliquota.setEnabled(status);
	txtCst.setEnabled(status);
	btnAddInformacaoFiscal.setEnabled(status);
	panelFotoProduto.setEnabled(status);
	botoesForm1.setStatusHabilitadoConfirmar(status);
}

public void setModoEdicao(boolean modo) {
	setStatusCampos(modo);
	botoesForm1.setStatusHabilitadoEditar(!modo);
}

@Override
public void setObjeto(Produto obj) {
	setProduto(obj);
	firePropertyChange("imagemProduto", null, getImagemProduto());
}

//get's e set's

}

Pessoal desde já obrigado.

1 Resposta

Dalvao

Caros usuários resolvi o problema.

Simplesmente o problema estava nos métodos eguals e hashCode, pois, haviam sido criados pelo eclipse.

Os métodos equals e hashCode quando criados pelo eclipse contém bug’s então melhor implementá-los sem usar a IDE.

Criado 10 de abril de 2011
Ultima resposta 16 de abr. de 2011
Respostas 1
Participantes 1