Ta ai o codigo e a stracktrace.
package br.com.gpinfo.compras.view.gui;
import br.com.gpinfo.util.JTextFieldLimit;
import br.com.gpinfo.util.FormatMaskDate;
import br.com.gpinfo.util.JTextFieldFilter;
import br.com.gpinfo.util.ValidaCampos;
import java.awt.EventQueue;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.beans.Beans;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.RollbackException;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.text.DateFormatter;
import javax.swing.text.DefaultFormatterFactory;
import javax.swing.text.MaskFormatter;
/**
*
* @author Isaac Sampaio
*/
public class ProdutoView extends JPanel {
public ProdutoView() {
maskData();
initComponents();
if (!Beans.isDesignTime()) {
entityManager.getTransaction().begin();
}
}
public MaskFormatter mascaraData = null;
public void maskData() {
try {
mascaraData = new MaskFormatter("##/##/####");
mascaraData.setValidCharacters("[telefone removido]");
} catch (Exception e) {
e.printStackTrace();
}
}
//Teste de formatação
/*
DateFormat displayFormat = new SimpleDateFormat("dd/MM/yyyy");
DateFormatter displayFormatter = new DateFormatter(displayFormat);
DateFormat editFormat = new SimpleDateFormat("dd/MM/yyyy");
DateFormatter editFormatter = new DateFormatter(editFormat);
DateFormat nullFormat = new SimpleDateFormat("'null'");
DateFormatter nullFormatter = new DateFormatter(nullFormat);
DefaultFormatterFactory factory = new DefaultFormatterFactory(displayFormatter,
displayFormatter, editFormatter, nullFormatter);
* /
/** 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();
entityManager = java.beans.Beans.isDesignTime() ? null : javax.persistence.Persistence.createEntityManagerFactory("gpinfoPU").createEntityManager();
query = java.beans.Beans.isDesignTime() ? null : entityManager.createQuery("SELECT p FROM Produto p");
list = java.beans.Beans.isDesignTime() ? java.util.Collections.emptyList() : org.jdesktop.observablecollections.ObservableCollections.observableList(query.getResultList());
unidadeMedidaQuery = java.beans.Beans.isDesignTime() ? null : entityManager.createQuery("SELECT u FROM UnidadeMedida u");
unidadeMedidaList = java.beans.Beans.isDesignTime() ? java.util.Collections.emptyList() : unidadeMedidaQuery.getResultList();
unidadeMedidaListCellRenderer1 = new br.com.gpinfo.compras.renderer.UnidadeMedidaListCellRenderer();
tipoProdutoListCellRenderer1 = new br.com.gpinfo.compras.renderer.TipoProdutoListCellRenderer();
tipoQuery = java.beans.Beans.isDesignTime() ? null : entityManager.createQuery("SELECT t FROM Tipo t");
tipoList = java.beans.Beans.isDesignTime() ? java.util.Collections.emptyList() : tipoQuery.getResultList();
masterScrollPane = new javax.swing.JScrollPane();
masterTable = new javax.swing.JTable();
nomeProdutoLabel = new javax.swing.JLabel();
descricaoProdutoLabel = new javax.swing.JLabel();
tipoProdutoLabel = new javax.swing.JLabel();
fabricacaoProdutoLabel = new javax.swing.JLabel();
loteProdutoLabel = new javax.swing.JLabel();
unidadeProdutoLabel = new javax.swing.JLabel();
minimoProdutoLabel = new javax.swing.JLabel();
nomeProdutoField = new javax.swing.JTextField();
descricaoProdutoField = new javax.swing.JTextField();
loteProdutoField = new javax.swing.JTextField();
minimoProdutoField = new javax.swing.JTextField();
jComboBox1 = new javax.swing.JComboBox();
jPanel1 = new javax.swing.JPanel();
saveButton = new javax.swing.JButton();
refreshButton = new javax.swing.JButton();
newButton = new javax.swing.JButton();
deleteButton = new javax.swing.JButton();
jComboBox2 = new javax.swing.JComboBox();
fabricacaoProdutoField = new javax.swing.JFormattedTextField(mascaraData);
FormListener formListener = new FormListener();
unidadeMedidaListCellRenderer1.setText("unidadeMedidaListCellRenderer1");
org.jdesktop.swingbinding.JTableBinding jTableBinding = org.jdesktop.swingbinding.SwingBindings.createJTableBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, list, masterTable);
org.jdesktop.swingbinding.JTableBinding.ColumnBinding columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${nomeProduto}"));
columnBinding.setColumnName("Nome");
columnBinding.setColumnClass(String.class);
columnBinding.setEditable(false);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${descricaoProduto}"));
columnBinding.setColumnName("Descrição");
columnBinding.setColumnClass(String.class);
columnBinding.setEditable(false);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${tipoProduto.nomeTipo}"));
columnBinding.setColumnName("Tipo");
columnBinding.setColumnClass(String.class);
columnBinding.setEditable(false);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${unidadeProduto.nomeUnidadeMedida}"));
columnBinding.setColumnName("Unidade");
columnBinding.setColumnClass(String.class);
columnBinding.setEditable(false);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${fabricacaoProduto}"));
columnBinding.setColumnName("Data de Fabricação");
columnBinding.setColumnClass(java.util.Date.class);
columnBinding.setEditable(false);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${validadeProduto}"));
columnBinding.setColumnName("Data Vencimento");
columnBinding.setColumnClass(java.util.Date.class);
columnBinding.setEditable(false);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${loteProduto}"));
columnBinding.setColumnName("Lote");
columnBinding.setColumnClass(String.class);
columnBinding.setEditable(false);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${minimoProduto}"));
columnBinding.setColumnName("Estoque MÃnimo");
columnBinding.setColumnClass(Integer.class);
columnBinding.setEditable(false);
bindingGroup.addBinding(jTableBinding);
jTableBinding.bind();
masterScrollPane.setViewportView(masterTable);
nomeProdutoLabel.setText("Nome:");
descricaoProdutoLabel.setText("Descrição:");
tipoProdutoLabel.setText("Tipo:");
fabricacaoProdutoLabel.setText("Data Fabricação:");
loteProdutoLabel.setText("Lote:");
unidadeProdutoLabel.setText("Unidade Medida:");
minimoProdutoLabel.setText("Estoque MÃnimo:");
org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.nomeProduto}"), nomeProdutoField, org.jdesktop.beansbinding.BeanProperty.create("text"));
binding.setSourceUnreadableValue(null);
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), nomeProdutoField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.descricaoProduto}"), descricaoProdutoField, org.jdesktop.beansbinding.BeanProperty.create("text"));
binding.setSourceUnreadableValue(null);
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), descricaoProdutoField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
bindingGroup.addBinding(binding);
descricaoProdutoField.addActionListener(formListener);
descricaoProdutoField.addKeyListener(formListener);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.loteProduto}"), loteProdutoField, org.jdesktop.beansbinding.BeanProperty.create("text"));
binding.setSourceUnreadableValue(null);
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), loteProdutoField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.minimoProduto}"), minimoProdutoField, org.jdesktop.beansbinding.BeanProperty.create("text"));
binding.setSourceUnreadableValue(null);
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), minimoProdutoField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
bindingGroup.addBinding(binding);
jComboBox1.setRenderer(unidadeMedidaListCellRenderer1);
org.jdesktop.swingbinding.JComboBoxBinding jComboBoxBinding = org.jdesktop.swingbinding.SwingBindings.createJComboBoxBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, unidadeMedidaList, jComboBox1);
bindingGroup.addBinding(jComboBoxBinding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.unidadeProduto}"), jComboBox1, org.jdesktop.beansbinding.BeanProperty.create("selectedItem"));
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), jComboBox1, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
bindingGroup.addBinding(binding);
saveButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/gpinfo/compras/view/gui/img/save.png"))); // NOI18N
saveButton.setLabel("Salvar");
saveButton.addActionListener(formListener);
refreshButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/gpinfo/compras/view/gui/img/sair2.png"))); // NOI18N
refreshButton.setLabel("Cancelar Alterações");
refreshButton.addActionListener(formListener);
newButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/gpinfo/compras/view/gui/img/add.png"))); // NOI18N
newButton.setLabel("Novo Produto");
newButton.addActionListener(formListener);
newButton.addKeyListener(formListener);
deleteButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/br/com/gpinfo/compras/view/gui/img/delete.png"))); // NOI18N
deleteButton.setLabel("Excluir");
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), deleteButton, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
bindingGroup.addBinding(binding);
deleteButton.addActionListener(formListener);
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addContainerGap(141, Short.MAX_VALUE)
.addComponent(newButton, javax.swing.GroupLayout.PREFERRED_SIZE, 138, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(deleteButton, javax.swing.GroupLayout.PREFERRED_SIZE, 109, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(refreshButton)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(saveButton, javax.swing.GroupLayout.PREFERRED_SIZE, 102, javax.swing.GroupLayout.PREFERRED_SIZE))
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(saveButton)
.addComponent(refreshButton)
.addComponent(deleteButton)
.addComponent(newButton))
.addContainerGap())
);
jComboBox2.setRenderer(tipoProdutoListCellRenderer1);
jComboBoxBinding = org.jdesktop.swingbinding.SwingBindings.createJComboBoxBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, tipoList, jComboBox2);
bindingGroup.addBinding(jComboBoxBinding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.tipoProduto}"), jComboBox2, org.jdesktop.beansbinding.BeanProperty.create("selectedItem"));
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), jComboBox2, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.fabricacaoProduto}"), fabricacaoProdutoField, org.jdesktop.beansbinding.BeanProperty.create("value"));
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, masterTable, org.jdesktop.beansbinding.ELProperty.create("${selectedElement != null}"), fabricacaoProdutoField, org.jdesktop.beansbinding.BeanProperty.create("enabled"));
bindingGroup.addBinding(binding);
fabricacaoProdutoField.addActionListener(formListener);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(masterScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 729, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(nomeProdutoLabel)
.addComponent(descricaoProdutoLabel)
.addComponent(tipoProdutoLabel)
.addComponent(loteProdutoLabel))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(loteProdutoField)
.addComponent(jComboBox2, 0, 135, Short.MAX_VALUE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(fabricacaoProdutoLabel)
.addComponent(unidadeProdutoLabel))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(fabricacaoProdutoField)
.addComponent(jComboBox1, 0, 133, Short.MAX_VALUE))
.addGap(36, 36, 36)
.addComponent(minimoProdutoLabel)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(minimoProdutoField, javax.swing.GroupLayout.PREFERRED_SIZE, 37, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(61, 61, 61))
.addComponent(nomeProdutoField, javax.swing.GroupLayout.DEFAULT_SIZE, 669, Short.MAX_VALUE)
.addComponent(descricaoProdutoField, javax.swing.GroupLayout.DEFAULT_SIZE, 669, Short.MAX_VALUE))))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(masterScrollPane, javax.swing.GroupLayout.DEFAULT_SIZE, 117, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(nomeProdutoLabel)
.addComponent(nomeProdutoField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(descricaoProdutoLabel)
.addComponent(descricaoProdutoField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tipoProdutoLabel)
.addComponent(jComboBox2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(loteProdutoLabel)
.addComponent(loteProdutoField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jComboBox1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(minimoProdutoLabel)
.addComponent(minimoProdutoField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(unidadeProdutoLabel)))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(fabricacaoProdutoLabel)
.addComponent(fabricacaoProdutoField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(32, 32, 32)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap())
);
bindingGroup.bind();
}
// Code for dispatching events from components to event handlers.
private class FormListener implements java.awt.event.ActionListener, java.awt.event.KeyListener {
FormListener() {}
public void actionPerformed(java.awt.event.ActionEvent evt) {
if (evt.getSource() == descricaoProdutoField) {
ProdutoView.this.descricaoProdutoFieldActionPerformed(evt);
}
else if (evt.getSource() == saveButton) {
ProdutoView.this.saveButtonActionPerformed(evt);
}
else if (evt.getSource() == refreshButton) {
ProdutoView.this.refreshButtonActionPerformed(evt);
}
else if (evt.getSource() == newButton) {
ProdutoView.this.newButtonActionPerformed(evt);
}
else if (evt.getSource() == deleteButton) {
ProdutoView.this.deleteButtonActionPerformed(evt);
}
else if (evt.getSource() == fabricacaoProdutoField) {
ProdutoView.this.fabricacaoProdutoFieldActionPerformed(evt);
}
}
public void keyPressed(java.awt.event.KeyEvent evt) {
if (evt.getSource() == newButton) {
ProdutoView.this.newButtonKeyPressed(evt);
}
}
public void keyReleased(java.awt.event.KeyEvent evt) {
if (evt.getSource() == descricaoProdutoField) {
ProdutoView.this.descricaoProdutoFieldKeyReleased(evt);
}
}
public void keyTyped(java.awt.event.KeyEvent evt) {
}
}// </editor-fold>//GEN-END:initComponents
@SuppressWarnings("unchecked")
private void refreshButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_refreshButtonActionPerformed
entityManager.getTransaction().rollback();
entityManager.getTransaction().begin();
java.util.Collection data = query.getResultList();
for (Object entity : data) {
entityManager.refresh(entity);
}
list.clear();
list.addAll(data);
}//GEN-LAST:event_refreshButtonActionPerformed
private void deleteButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deleteButtonActionPerformed
int[] selected = masterTable.getSelectedRows();
List<br.com.gpinfo.compras.business.Produto> toRemove = new ArrayList<br.com.gpinfo.compras.business.Produto>(selected.length);
for (int idx = 0; idx < selected.length; idx++) {
br.com.gpinfo.compras.business.Produto p = list.get(masterTable.convertRowIndexToModel(selected[idx]));
toRemove.add(p);
entityManager.remove(p);
}
list.removeAll(toRemove);
}//GEN-LAST:event_deleteButtonActionPerformed
private void newButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_newButtonActionPerformed
br.com.gpinfo.compras.business.Produto p = new br.com.gpinfo.compras.business.Produto();
entityManager.persist(p);
list.add(p);
int row = list.size() - 1;
masterTable.setRowSelectionInterval(row, row);
masterTable.scrollRectToVisible(masterTable.getCellRect(row, 0, true));
// try {
// FormatMaskDate.maskData(fabricacaoProdutoField);
// } catch (ParseException ex) {
// ex.printStackTrace();
//}
}//GEN-LAST:event_newButtonActionPerformed
private void saveButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_saveButtonActionPerformed
boolean a = ValidaCampos.campoVazio(fabricacaoProdutoField, "Dada de Fabricação");
if (a) {
fabricacaoProdutoField.grabFocus();
} else {
try {
entityManager.getTransaction().commit();
entityManager.getTransaction().begin();
} catch (RollbackException rex) {
rex.printStackTrace();
entityManager.getTransaction().begin();
List<br.com.gpinfo.compras.business.Produto> merged = new ArrayList<br.com.gpinfo.compras.business.Produto>(list.size());
for (br.com.gpinfo.compras.business.Produto p : list) {
merged.add(entityManager.merge(p));
}
list.clear();
list.addAll(merged);
}
}//GEN-LAST:event_saveButtonActionPerformed
}
private void newButtonKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_newButtonKeyPressed
if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
// newButton.doClick();
nomeProdutoField.requestFocus();
}
}//GEN-LAST:event_newButtonKeyPressed
private void descricaoProdutoFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_descricaoProdutoFieldActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_descricaoProdutoFieldActionPerformed
private void descricaoProdutoFieldKeyReleased(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_descricaoProdutoFieldKeyReleased
descricaoProdutoField.setText(descricaoProdutoField.getText().toUpperCase());
}//GEN-LAST:event_descricaoProdutoFieldKeyReleased
private void fabricacaoProdutoFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_fabricacaoProdutoFieldActionPerformed
// TODO add your handling code here:
}//GEN-LAST:event_fabricacaoProdutoFieldActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton deleteButton;
private javax.swing.JTextField descricaoProdutoField;
private javax.swing.JLabel descricaoProdutoLabel;
private javax.persistence.EntityManager entityManager;
private javax.swing.JFormattedTextField fabricacaoProdutoField;
private javax.swing.JLabel fabricacaoProdutoLabel;
private javax.swing.JComboBox jComboBox1;
private javax.swing.JComboBox jComboBox2;
private javax.swing.JPanel jPanel1;
private java.util.List<br.com.gpinfo.compras.business.Produto> list;
private javax.swing.JTextField loteProdutoField;
private javax.swing.JLabel loteProdutoLabel;
private javax.swing.JScrollPane masterScrollPane;
private javax.swing.JTable masterTable;
private javax.swing.JTextField minimoProdutoField;
private javax.swing.JLabel minimoProdutoLabel;
private javax.swing.JButton newButton;
private javax.swing.JTextField nomeProdutoField;
private javax.swing.JLabel nomeProdutoLabel;
private javax.persistence.Query query;
private javax.swing.JButton refreshButton;
private javax.swing.JButton saveButton;
private java.util.List<br.com.gpinfo.compras.business.Tipo> tipoList;
private javax.swing.JLabel tipoProdutoLabel;
private br.com.gpinfo.compras.renderer.TipoProdutoListCellRenderer tipoProdutoListCellRenderer1;
private javax.persistence.Query tipoQuery;
private java.util.List<br.com.gpinfo.compras.business.UnidadeMedida> unidadeMedidaList;
private br.com.gpinfo.compras.renderer.UnidadeMedidaListCellRenderer unidadeMedidaListCellRenderer1;
private javax.persistence.Query unidadeMedidaQuery;
private javax.swing.JLabel unidadeProdutoLabel;
private org.jdesktop.beansbinding.BindingGroup bindingGroup;
// End of variables declaration//GEN-END:variables
/*
yourTextFeild.addKeyListener(
new KeyListener(){
public void keyPressed(KeyEvent e){
if (e.getKey() == KeyEvent.VK_ENTER)
yourButton.doClick();
}
}
);
*/
public static void main(final String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
JFrame frame = new JFrame();
frame.setContentPane(new ProdutoView());
frame.pack();
frame.setResizable(false);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
frame.setTitle(args[0]);
}
});
}
}