Cadastro de Clientes com GUI e MySQL
Publicado por Alex Inocencio Santos (última atualização em 04/05/2015)
[ Hits: 13.270 ]
Download JavaApplicationCadastroCliente.zip
Este script possui uma GUI criada no NetBeans 8.0.2 com conexão ao banco de dados MySQL.
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package apresentação;
import controle.Cliente;
import controle.Compra;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import javax.swing.JOptionPane;
import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener;
/**
*
* @author alex
*/
public class JFrameClientes extends javax.swing.JFrame {
/**
* Creates new form JFrameClientes
*/
public JFrameClientes() {
initComponents();
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
* regenerated by the Form Editor.
*/
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
bindingGroup = new org.jdesktop.beansbinding.BindingGroup();
JavaApplicationCadastroClientePUEntityManager = java.beans.Beans.isDesignTime() ? null : javax.persistence.Persistence.createEntityManagerFactory("JavaApplicationCadastroClientePU").createEntityManager();
clienteQuery = java.beans.Beans.isDesignTime() ? null : JavaApplicationCadastroClientePUEntityManager.createQuery("SELECT c FROM Cliente c");
clienteList = java.beans.Beans.isDesignTime() ? java.util.Collections.emptyList() : org.jdesktop.observablecollections.ObservableCollections.observableList(clienteQuery.getResultList());
compraQuery = java.beans.Beans.isDesignTime() ? null : JavaApplicationCadastroClientePUEntityManager.createQuery("SELECT c FROM Compra c");
compraList = java.beans.Beans.isDesignTime() ? java.util.Collections.emptyList() : org.jdesktop.observablecollections.ObservableCollections.observableList(compraQuery.getResultList());
jTabbedPaneCliente = new javax.swing.JTabbedPane();
jPanelCliente = new javax.swing.JPanel();
jLabelId = new javax.swing.JLabel();
jLabelNome = new javax.swing.JLabel();
jLabelCpf = new javax.swing.JLabel();
jLabelEndereco = new javax.swing.JLabel();
jLabelCidade = new javax.swing.JLabel();
jLabelEstado = new javax.swing.JLabel();
jTextFieldId = new javax.swing.JTextField();
jTextFieldNome = new javax.swing.JTextField();
jTextFieldCPF = new javax.swing.JTextField();
jTextFieldEndereco = new javax.swing.JTextField();
jTextFieldCidade = new javax.swing.JTextField();
jTextFieldEstado = new javax.swing.JTextField();
jButtonInserirCliente = new javax.swing.JButton();
jButtonSalvarCliente = new javax.swing.JButton();
jButtonCancelarCliente = new javax.swing.JButton();
jButtonExcluirCliente = new javax.swing.JButton();
jLabelCpfBusca = new javax.swing.JLabel();
jTextFieldCpfBusca = new javax.swing.JTextField();
jScrollPane1 = new javax.swing.JScrollPane();
jTableClientes = new javax.swing.JTable();
jTextFieldCPFBusca = new javax.swing.JButton();
jPanelCompras = new javax.swing.JPanel();
jLabelIDCompra = new javax.swing.JLabel();
jLabelData = new javax.swing.JLabel();
jLabelDescricao = new javax.swing.JLabel();
jLabelQtd = new javax.swing.JLabel();
jLabelValorUnitario = new javax.swing.JLabel();
jTextFieldCompraId = new javax.swing.JTextField();
jFormattedTextFieldCompraData = new javax.swing.JFormattedTextField();
jFormattedTextFieldCompraQtd = new javax.swing.JFormattedTextField();
jFormattedTextFieldCompraPrcUnitario = new javax.swing.JFormattedTextField();
jTextFieldCompraDescricao = new javax.swing.JTextField();
jButtonCompraInserir = new javax.swing.JButton();
jButtonCompraSalvar = new javax.swing.JButton();
jButtonCompraCancelar = new javax.swing.JButton();
jButtonCompraExcluir = new javax.swing.JButton();
jScrollPane2 = new javax.swing.JScrollPane();
jTableCompras = new javax.swing.JTable();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
addWindowListener(new java.awt.event.WindowAdapter() {
public void windowOpened(java.awt.event.WindowEvent evt) {
formWindowOpened(evt);
}
});
jTabbedPaneCliente.setTabLayoutPolicy(javax.swing.JTabbedPane.SCROLL_TAB_LAYOUT);
jLabelId.setText("Id");
jLabelNome.setText("Nome");
jLabelCpf.setText("Cpf");
jLabelEndereco.setText("Endereço");
jLabelCidade.setText("Cidade");
jLabelEstado.setText("Estado");
org.jdesktop.beansbinding.Binding binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jTableClientes, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.id}"), jTextFieldId, org.jdesktop.beansbinding.BeanProperty.create("text"));
bindingGroup.addBinding(binding);
jTextFieldId.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextFieldIdActionPerformed(evt);
}
});
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jTableClientes, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.nome}"), jTextFieldNome, org.jdesktop.beansbinding.BeanProperty.create("text"));
bindingGroup.addBinding(binding);
jTextFieldNome.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextFieldNomeActionPerformed(evt);
}
});
jTextFieldNome.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
jTextFieldNomeKeyPressed(evt);
}
});
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jTableClientes, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.cpf}"), jTextFieldCPF, org.jdesktop.beansbinding.BeanProperty.create("text"));
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jTableClientes, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.endereco}"), jTextFieldEndereco, org.jdesktop.beansbinding.BeanProperty.create("text"));
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jTableClientes, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.cidade}"), jTextFieldCidade, org.jdesktop.beansbinding.BeanProperty.create("text"));
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jTableClientes, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.estado}"), jTextFieldEstado, org.jdesktop.beansbinding.BeanProperty.create("text"));
bindingGroup.addBinding(binding);
jButtonInserirCliente.setText("Inserir");
jButtonInserirCliente.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonInserirClienteActionPerformed(evt);
}
});
jButtonSalvarCliente.setText("Salvar");
jButtonSalvarCliente.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonSalvarClienteActionPerformed(evt);
}
});
jButtonCancelarCliente.setText("Cancelar");
jButtonCancelarCliente.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonCancelarClienteActionPerformed(evt);
}
});
jButtonExcluirCliente.setText("Excluir");
jButtonExcluirCliente.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonExcluirClienteActionPerformed(evt);
}
});
jLabelCpfBusca.setText("Cpf Busca");
org.jdesktop.swingbinding.JTableBinding jTableBinding = org.jdesktop.swingbinding.SwingBindings.createJTableBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, clienteList, jTableClientes);
org.jdesktop.swingbinding.JTableBinding.ColumnBinding columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${id}"));
columnBinding.setColumnName("Id");
columnBinding.setColumnClass(Long.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${nome}"));
columnBinding.setColumnName("Nome");
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${cpf}"));
columnBinding.setColumnName("Cpf");
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${endereco}"));
columnBinding.setColumnName("Endereco");
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${cidade}"));
columnBinding.setColumnName("Cidade");
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${estado}"));
columnBinding.setColumnName("Estado");
columnBinding.setColumnClass(String.class);
bindingGroup.addBinding(jTableBinding);
jTableBinding.bind();
jTableClientes.getSelectionModel () .addListSelectionListener(new ListSelectionListener() { // Adiciona um evento de mudança de seleção ao jTabelClientes
public void valueChanged(ListSelectionEvent e) { // Evento de mudança de seleção
if (jTextFieldId.getText().isEmpty()) { // Não há cliente selecionado (Não há o que mostrar)
compraQuery = JavaApplicationCadastroClientePUEntityManager.createQuery("SELECT c FROM Compra c WHERE c.idCliente.id=0"); // Gerar uma query compra vazia
} else {
compraQuery = JavaApplicationCadastroClientePUEntityManager.createQuery("SELECT c FROM Compra c WHERE c.idCliente.id=" + jTextFieldId.getText()); // Buscar compras de cliente Id
}
compraList.clear(); // Limpa compras atual
compraList.addAll(compraQuery.getResultList()); // Adiciona ao list as compras buscadas
if (jTableCompras.getRowCount() > 0) { // Existe compras
jTableCompras.setRowSelectionInterval(0, 0); // Seleciona a primeira no jTable
} else {
// Limpa campos da guia compras se elas não existem
jTextFieldCompraDescricao.setText(null);
jTextFieldCompraId.setText(null);
jFormattedTextFieldCompraData.setText(null);
jFormattedTextFieldCompraPrcUnitario.setText(null);
jFormattedTextFieldCompraQtd.setText(null);
}
}
}
);
jScrollPane1.setViewportView(jTableClientes);
jTextFieldCPFBusca.setText("Buscar");
jTextFieldCPFBusca.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jTextFieldCPFBuscaActionPerformed(evt);
}
});
javax.swing.GroupLayout jPanelClienteLayout = new javax.swing.GroupLayout(jPanelCliente);
jPanelCliente.setLayout(jPanelClienteLayout);
jPanelClienteLayout.setHorizontalGroup(
jPanelClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanelClienteLayout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanelClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabelId)
.addComponent(jLabelNome)
.addComponent(jLabelCpf)
.addComponent(jLabelEndereco)
.addComponent(jLabelCidade)
.addComponent(jLabelEstado))
.addGap(55, 55, 55)
.addGroup(jPanelClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jTextFieldEstado, javax.swing.GroupLayout.DEFAULT_SIZE, 130, Short.MAX_VALUE)
.addComponent(jTextFieldCidade)
.addComponent(jTextFieldEndereco)
.addComponent(jTextFieldNome)
.addComponent(jTextFieldId)
.addComponent(jTextFieldCPF))
.addGap(18, 18, 18)
.addGroup(jPanelClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jButtonSalvarCliente, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButtonCancelarCliente, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButtonExcluirCliente, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButtonInserirCliente, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(33, 33, 33)
.addComponent(jLabelCpfBusca)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanelClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTextFieldCpfBusca)
.addGroup(jPanelClienteLayout.createSequentialGroup()
.addComponent(jTextFieldCPFBusca)
.addGap(0, 0, Short.MAX_VALUE))))
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 601, Short.MAX_VALUE)
);
jPanelClienteLayout.setVerticalGroup(
jPanelClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanelClienteLayout.createSequentialGroup()
.addGap(26, 26, 26)
.addGroup(jPanelClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabelId)
.addComponent(jTextFieldId, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButtonInserirCliente)
.addComponent(jLabelCpfBusca)
.addComponent(jTextFieldCpfBusca, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(jPanelClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanelClienteLayout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanelClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanelClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextFieldNome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButtonSalvarCliente))
.addComponent(jLabelNome)))
.addGroup(jPanelClienteLayout.createSequentialGroup()
.addGap(20, 20, 20)
.addComponent(jTextFieldCPFBusca)))
.addGap(18, 18, 18)
.addGroup(jPanelClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanelClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextFieldCPF, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButtonCancelarCliente))
.addComponent(jLabelCpf))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanelClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabelEndereco)
.addGroup(jPanelClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jTextFieldEndereco, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButtonExcluirCliente)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanelClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabelCidade)
.addComponent(jTextFieldCidade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanelClienteLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabelEstado)
.addComponent(jTextFieldEstado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(30, 30, 30)
.addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
);
jTabbedPaneCliente.addTab("Cliente", jPanelCliente);
jLabelIDCompra.setText("Id");
jLabelData.setText("Data");
jLabelDescricao.setText("Descrição");
jLabelQtd.setText("Qtd");
jLabelValorUnitario.setText("Valor Unitário");
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jTableCompras, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.id}"), jTextFieldCompraId, org.jdesktop.beansbinding.BeanProperty.create("text"));
bindingGroup.addBinding(binding);
jFormattedTextFieldCompraData.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.DateFormatter()));
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jTableCompras, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.data}"), jFormattedTextFieldCompraData, org.jdesktop.beansbinding.BeanProperty.create("value"));
bindingGroup.addBinding(binding);
jFormattedTextFieldCompraData.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jFormattedTextFieldCompraDataActionPerformed(evt);
}
});
jFormattedTextFieldCompraQtd.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter(new java.text.DecimalFormat("#0"))));
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jTableCompras, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.qtde}"), jFormattedTextFieldCompraQtd, org.jdesktop.beansbinding.BeanProperty.create("value"));
bindingGroup.addBinding(binding);
jFormattedTextFieldCompraPrcUnitario.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.NumberFormatter()));
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jTableCompras, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.precoUnitario}"), jFormattedTextFieldCompraPrcUnitario, org.jdesktop.beansbinding.BeanProperty.create("value"));
bindingGroup.addBinding(binding);
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, jTableCompras, org.jdesktop.beansbinding.ELProperty.create("${selectedElement.descricao}"), jTextFieldCompraDescricao, org.jdesktop.beansbinding.BeanProperty.create("text"));
bindingGroup.addBinding(binding);
jTextFieldCompraDescricao.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
jTextFieldCompraDescricaoKeyPressed(evt);
}
});
jButtonCompraInserir.setText("Inserir");
jButtonCompraInserir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonCompraInserirActionPerformed(evt);
}
});
jButtonCompraSalvar.setText("Salvar");
jButtonCompraSalvar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonCompraSalvarActionPerformed(evt);
}
});
jButtonCompraCancelar.setText("Cancelar");
jButtonCompraCancelar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonCompraCancelarActionPerformed(evt);
}
});
jButtonCompraExcluir.setText("Excluir");
jButtonCompraExcluir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButtonCompraExcluirActionPerformed(evt);
}
});
jTableBinding = org.jdesktop.swingbinding.SwingBindings.createJTableBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, compraList, jTableCompras);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${id}"));
columnBinding.setColumnName("Id");
columnBinding.setColumnClass(Long.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${data}"));
columnBinding.setColumnName("Data");
columnBinding.setColumnClass(java.util.Date.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${descricao}"));
columnBinding.setColumnName("Descricao");
columnBinding.setColumnClass(String.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${qtde}"));
columnBinding.setColumnName("Qtde");
columnBinding.setColumnClass(Integer.class);
columnBinding = jTableBinding.addColumnBinding(org.jdesktop.beansbinding.ELProperty.create("${precoUnitario}"));
columnBinding.setColumnName("Preco Unitario");
columnBinding.setColumnClass(Double.class);
bindingGroup.addBinding(jTableBinding);
jTableBinding.bind();
jScrollPane2.setViewportView(jTableCompras);
javax.swing.GroupLayout jPanelComprasLayout = new javax.swing.GroupLayout(jPanelCompras);
jPanelCompras.setLayout(jPanelComprasLayout);
jPanelComprasLayout.setHorizontalGroup(
jPanelComprasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanelComprasLayout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanelComprasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 577, Short.MAX_VALUE)
.addGroup(jPanelComprasLayout.createSequentialGroup()
.addGroup(jPanelComprasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabelIDCompra)
.addComponent(jLabelData)
.addComponent(jLabelQtd)
.addComponent(jLabelValorUnitario)
.addComponent(jLabelDescricao))
.addGap(36, 36, 36)
.addGroup(jPanelComprasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jFormattedTextFieldCompraPrcUnitario, javax.swing.GroupLayout.DEFAULT_SIZE, 263, Short.MAX_VALUE)
.addComponent(jFormattedTextFieldCompraQtd)
.addComponent(jFormattedTextFieldCompraData)
.addComponent(jTextFieldCompraId)
.addComponent(jTextFieldCompraDescricao))
.addGap(35, 35, 35)
.addGroup(jPanelComprasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
.addComponent(jButtonCompraSalvar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButtonCompraCancelar, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButtonCompraExcluir, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jButtonCompraInserir, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
);
jPanelComprasLayout.setVerticalGroup(
jPanelComprasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanelComprasLayout.createSequentialGroup()
.addGap(27, 27, 27)
.addGroup(jPanelComprasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabelIDCompra)
.addComponent(jTextFieldCompraId, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButtonCompraInserir))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanelComprasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabelData)
.addGroup(jPanelComprasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jFormattedTextFieldCompraData, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jButtonCompraSalvar)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanelComprasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanelComprasLayout.createSequentialGroup()
.addGroup(jPanelComprasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabelDescricao)
.addComponent(jTextFieldCompraDescricao, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(jPanelComprasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabelQtd)
.addComponent(jFormattedTextFieldCompraQtd, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(jPanelComprasLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabelValorUnitario)
.addComponent(jFormattedTextFieldCompraPrcUnitario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(jPanelComprasLayout.createSequentialGroup()
.addComponent(jButtonCompraCancelar)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButtonCompraExcluir)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 106, javax.swing.GroupLayout.PREFERRED_SIZE)
.addContainerGap(90, Short.MAX_VALUE))
);
jTabbedPaneCliente.addTab("Compras", jPanelCompras);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTabbedPaneCliente)
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jTabbedPaneCliente)
);
bindingGroup.bind();
pack();
}// </editor-fold>
private void jFormattedTextFieldCompraDataActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void formWindowOpened(java.awt.event.WindowEvent evt) {
// TODO add your handling code here:
this.configurarClienteInicializacao();
}
private void jButtonInserirClienteActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:// Código para inserir o cliente
this.inserirCliente();
}
/*
private void jButtonSalvarClienteActionPerformed(java.awt.event.ActionEvent evt) {
// Código para salvar o cliente
try {
if (this.estadoCliente == EstadoCliente.INSERINDO_CLIENTE) {
this.salvarClienteEmInsercao();
} else {
this.salvarClienteEmAtualização();
}
} catch (Exception e) {
JOptionPane.showMessageDialog(rootPane, e);
}
JOptionPane.showMessageDialog(null,"Cadastro Efetuado!!");*//*
}
*/
private void jButtonCancelarClienteActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
// Código para cancelar alteração ou inserção de cliente
try {
if (this.estadoCliente == EstadoCliente.INSERINDO_CLIENTE) {
this.cancelarInsercaoCliente();
} else {
this.cancelarAtualizacaoCliente();
}
} catch (Exception e) {
JOptionPane.showMessageDialog(rootPane, e);
}
}
private void jButtonExcluirClienteActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
// Código para excluir o cliente
if (JOptionPane.showConfirmDialog(rootPane, "Confirma a exclusão deste registro?") == JOptionPane.OK_OPTION) {
try {
this.excluirCliente();
} catch (Exception e) {
JOptionPane.showMessageDialog(rootPane, e);
}
}
}
private void jTextFieldCPFBuscaActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
// código para encontrar cliente
this.encontrarCliente(this.jTextFieldCPFBusca.getText());
}
private void jTextFieldIdActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jTextFieldNomeActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
// Código que provoca edição de cliente em modificação no campo Nome
this.configurarMudancaDeEstadoPorEdicaoCliente();
}
private void jButtonCompraExcluirActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
// Código para exclusão de compra
if (JOptionPane.showConfirmDialog(rootPane, "Confirma a exclusão deste registro?") == JOptionPane.OK_OPTION) {
try {
this.excluirCompra();
} catch (Exception e) {
JOptionPane.showMessageDialog(rootPane, e);
}
}
}
private void jTextFieldNomeKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
// Edição de cliente por alteração do campo Nome
this.configurarMudancaDeEstadoPorEdicaoCliente();
}
private void jTextFieldCompraDescricaoKeyPressed(java.awt.event.KeyEvent evt) {
// TODO add your handling code here:
// Código para colocar em edição a compra por alteração do campo descrição
this.configurarMudancaDeEstadoPorEdicaoCompra();
}
private void jButtonCompraCancelarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
// Código que cancela inserção ou edição de compra
try {
if (this.estadoCompra == EstadoCompra.INSERINDO_COMPRA) {
this.cancelarInsercaoCompra();
} else {
this.cancelarAtualizacaoCompra();
}
} catch (Exception e) {
JOptionPane.showMessageDialog(rootPane, e);
}
}
private void jButtonCompraSalvarActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
// Código para salvar compra
try {
if (this.estadoCompra == EstadoCompra.INSERINDO_COMPRA) {
this.salvarCompraEmInsercao();
} else {
this.salvarCompraEmAtualizacao();
}
} catch (Exception e) {
JOptionPane.showMessageDialog(rootPane, e);
}
}
private void jButtonCompraInserirActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
// Código para inserir compra
this.inserirCompra();
}
private void jButtonSalvarClienteActionPerformed(java.awt.event.ActionEvent evt) {
// Código para salvar o cliente
try {
if (this.estadoCliente == EstadoCliente.INSERINDO_CLIENTE) {
this.salvarClienteEmInsercao();
} else {
this.salvarClienteEmAtualização();
}
} catch (Exception e) {
JOptionPane.showMessageDialog(rootPane, e);
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
/* Set the Nimbus look and feel */
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
*/
try {
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
if ("Nimbus".equals(info.getName())) {
javax.swing.UIManager.setLookAndFeel(info.getClassName());
break;
}
}
} catch (ClassNotFoundException ex) {
java.util.logging.Logger.getLogger(JFrameClientes.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (InstantiationException ex) {
java.util.logging.Logger.getLogger(JFrameClientes.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (IllegalAccessException ex) {
java.util.logging.Logger.getLogger(JFrameClientes.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
java.util.logging.Logger.getLogger(JFrameClientes.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
//</editor-fold>
/* Create and display the form */
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new JFrameClientes().setVisible(true);
}
});
}
private void jButtonInserirClienteActionPerformed(Object object) {
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
private enum EstadoCliente {
INSERINDO_CLIENTE,
EDITANDO_CLIENTE,
CONSULTANDO_CLIENTE
}
private enum EstadoCompra {
INSERINDO_COMPRA,
EDITANDO_COMPRA,
CONSULTANDO_COMPRA
}
private EstadoCliente estadoCliente = EstadoCliente.CONSULTANDO_CLIENTE;
private EstadoCompra estadoCompra = EstadoCompra.CONSULTANDO_COMPRA;
private Cliente cliente;
public Cliente getCliente() {
return cliente;
}
public void setCliente(Cliente cliente) {
this.cliente = cliente;
}
private void inserirCliente() {
Cliente cliente = new Cliente();
this.clienteList.add(cliente); // Insere no clienteList para forçar a aparição de uma linha em branco no JTableClientes
// Seleciona objeto inserido na tabela e estabelece foco no campo "nome" (Apenas dar a sensação de inserção)
this.jTableClientes.setRowSelectionInterval(this.jTableClientes.getRowCount() - 1, this.jTableClientes.getRowCount() - 1);
this.jTextFieldNome.requestFocus();
//Configura botões para estado de Inserção
this.jButtonInserirCliente.setEnabled(false);
this.jButtonExcluirCliente.setEnabled(false);
this.jButtonCancelarCliente.setEnabled(true);
this.jButtonSalvarCliente.setEnabled(true);
this.estadoCliente = EstadoCliente.INSERINDO_CLIENTE;
}
private void salvarClienteEmAtualização() {
// Encontra e carrega o objeto de atualização com base no "Id"
if (cliente.encontradoId(Long.valueOf(this.jTextFieldId.getText()))) {
// Atualiza o objeto com novos valores
cliente.setNome(this.jTextFieldNome.getText());
cliente.setCidade(this.jTextFieldCidade.getText());
cliente.setCpf(this.jTextFieldCPF.getText());
cliente.setEndereco(this.jTextFieldEndereco.getText());
cliente.setEstado(this.jTextFieldEstado.getText());
if (cliente.atualizado()) { // Se atualizado objeto no BD
//Configura botões para estado de Consulta
this.jButtonInserirCliente.setEnabled(true);
this.jButtonExcluirCliente.setEnabled(this.jTableClientes.getRowCount() != 0); // Existe algo para excluir?
this.jButtonCancelarCliente.setEnabled(false);
this.jButtonSalvarCliente.setEnabled(false);
this.estadoCliente = EstadoCliente.CONSULTANDO_CLIENTE;
}
}
}
private void encontrarCliente(String CPF) {
// Encontra e carrega o objeto de atualização com base no "Id"
if (CPF.isEmpty()) {
// Busca todos
clienteQuery = JavaApplicationCadastroClientePUEntityManager.createQuery("SELECT c FROM Cliente c");
} else {
clienteQuery = JavaApplicationCadastroClientePUEntityManager.createQuery("SELECT c FROM Cliente c WHERE c.cpf = " + CPF);
}
clienteList.clear();
clienteList.addAll(clienteQuery.getResultList());
if (jTableClientes.getRowCount() > 0) {
jTableClientes.setRowSelectionInterval(0, 0);
} else {
jTextFieldNome.setText(null);
jTextFieldId.setText(null);
jTextFieldCPF.setText(null);
jTextFieldEndereco.setText(null);
jTextFieldCidade.setText(null);
jTextFieldEstado.setText(null);
}
}
private void salvarClienteEmInsercao() {
// Cria o objeto
Cliente cliente = new Cliente();
// Configura o objeto com os valores definidos nos campos
cliente.setNome(this.jTextFieldNome.getText());
cliente.setCidade(this.jTextFieldCidade.getText());
cliente.setCpf(this.jTextFieldCPF.getText());
cliente.setEndereco(this.jTextFieldEndereco.getText());
cliente.setEstado(this.jTextFieldEstado.getText());
if (cliente.armazenado()) { // Se armazenado objeto no BD
// Retira a linha em branco, selecionada na inserção, da lista e do JTableClientes
this.clienteList.remove(this.jTableClientes.getSelectedRow());
// Adiciona o novo "Cliente" gravado no BD, na lista e automaticamente no JTableClientes.
this.clienteList.add(cliente);
// Seleciona o último da lista
this.jTableClientes.setRowSelectionInterval(this.jTableClientes.getRowCount() - 1, this.jTableClientes.getRowCount() - 1);
//Configura botões para estado de Consulta
this.jButtonInserirCliente.setEnabled(true);
this.jButtonExcluirCliente.setEnabled(this.jTableClientes.getRowCount() != 0); // Existe algo para excluir?
this.jButtonCancelarCliente.setEnabled(false);
this.jButtonSalvarCliente.setEnabled(false);
this.estadoCliente = EstadoCliente.CONSULTANDO_CLIENTE;
}
}
private void cancelarInsercaoCliente() {
// Remove a linha em branco da lista e automaticamente do JTable
this.clienteList.remove(this.jTableClientes.getSelectedRow());
if (this.jTableClientes.getRowCount() > 0) { // Se houver objetos na lista
// Seleciona o último da lista
this.jTableClientes.setRowSelectionInterval(this.jTableClientes.getRowCount() - 1, this.jTableClientes.getRowCount() - 1);
}
//Configura botões para estado de Consulta
this.jButtonInserirCliente.setEnabled(true);
this.jButtonExcluirCliente.setEnabled(this.jTableClientes.getRowCount() != 0); // Existe algo para excluir?
this.jButtonCancelarCliente.setEnabled(false);
this.jButtonSalvarCliente.setEnabled(false);
this.estadoCliente = EstadoCliente.CONSULTANDO_CLIENTE;
}
private void cancelarAtualizacaoCliente() {
// Busca o objeto com informações anteriores à atualização
Cliente cliente = new Cliente();
if (cliente.encontradoId(Long.valueOf(this.jTextFieldId.getText()))) {
// Atualiza os campos com dados sem alteração
this.jTextFieldNome.setText(cliente.getNome());
this.jTextFieldCidade.setText(cliente.getCidade());
this.jTextFieldCPF.setText(cliente.getCpf());
this.jTextFieldEndereco.setText(cliente.getEndereco());
this.jTextFieldEstado.setText(cliente.getEstado());
}
//Configura botões para estado de Consulta
this.jButtonInserirCliente.setEnabled(true);
this.jButtonExcluirCliente.setEnabled(this.jTableClientes.getRowCount() != 0); // Existe algo para excluir?
this.jButtonCancelarCliente.setEnabled(false);
this.jButtonSalvarCliente.setEnabled(false);
this.estadoCliente = EstadoCliente.CONSULTANDO_CLIENTE;
}
private void excluirCliente() {
Cliente cliente = new Cliente(); // Cria o objeto
cliente.setId(Long.valueOf(this.jTextFieldId.getText())); // Configura o id de exclusão
if (cliente.desarmazenado()) { // Exclui o objeto do BD
int linhaSelecionada = this.jTableClientes.getSelectedRow(); // Marca linha selecionada da tabela
this.clienteList.remove(this.jTableClientes.getSelectedRow()); // Remove objeto da lista e do JTabel
if (this.jTableClientes.getRowCount() > 0) { // Se houver linhas na tabela
if (linhaSelecionada > 0) {
linhaSelecionada--;
}
this.jTableClientes.setRowSelectionInterval(linhaSelecionada, linhaSelecionada); // Seleciona linha marcada
}
//Configura botões para estado de Consulta
this.jButtonInserirCliente.setEnabled(true);
this.jButtonExcluirCliente.setEnabled(this.jTableClientes.getRowCount() != 0); // Existe algo para excluir?
this.jButtonCancelarCliente.setEnabled(false);
this.jButtonSalvarCliente.setEnabled(false);
this.estadoCliente = EstadoCliente.CONSULTANDO_CLIENTE;
}
}
private void configurarMudancaDeEstadoPorEdicaoCliente() {
//Configura botões para Estado de Edição
this.jButtonInserirCliente.setEnabled(false);
this.jButtonExcluirCliente.setEnabled(false);
this.jButtonCancelarCliente.setEnabled(true);
this.jButtonSalvarCliente.setEnabled(true);
if (this.estadoCliente == EstadoCliente.CONSULTANDO_CLIENTE) {
if (this.jTableClientes.getRowCount() != 0) { // Existe algo para editar?
this.estadoCliente = EstadoCliente.EDITANDO_CLIENTE;
} else {
this.jButtonInserirClienteActionPerformed(null); // Executa uma inserção
}
}
}
private void configurarClienteInicializacao() {
// Configuração da Guia Clientes
if (this.jTableClientes.getRowCount() > 0) { // Se houver linhas na lista
this.jTableClientes.setRowSelectionInterval(0, 0); // Seleciona linha 0 (primeira)
}
//Configura botões para estado de Consulta
this.jButtonInserirCliente.setEnabled(true);
this.jButtonExcluirCliente.setEnabled(this.jTableClientes.getRowCount() != 0); // Existe algo para excluir?
this.jButtonCancelarCliente.setEnabled(false);
this.jButtonSalvarCliente.setEnabled(false);
// Configuração da Guia Compras
if (this.jTableCompras.getRowCount() > 0) { // Se houver linhas na lista
this.jTableCompras.setRowSelectionInterval(0, 0); // Seleciona linha 0 (primeira)
}
//Configura botões para o Estado de Consulta
this.jButtonCompraInserir.setEnabled(true);
this.jButtonCompraExcluir.setEnabled(this.jTableCompras.getRowCount() != 0); // Existe registro para excluir?
this.jButtonCompraCancelar.setEnabled(false);
this.jButtonCompraSalvar.setEnabled(false);
this.estadoCompra = EstadoCompra.CONSULTANDO_COMPRA;
}
private void excluirCompra() {
Compra compra = new Compra(); // Cria o objeto
compra.setId(Long.valueOf(this.jTextFieldCompraId.getText())); // Configura o id de exclusão
if (compra.desarmazenado()) { // Exclui o objeto do BD
int linhaSelecionada = this.jTableCompras.getSelectedRow(); // Marca linha selecionada da tabela
this.compraList.remove(this.jTableCompras.getSelectedRow()); // Remove objeto da lista
if (this.jTableCompras.getRowCount() > 0) { // Se houver linhas na tabela
if (linhaSelecionada > 0) {
linhaSelecionada--;
}
this.jTableCompras.setRowSelectionInterval(linhaSelecionada, linhaSelecionada); // Seleciona linha marcada
}
//Configura botões para o Estado de Consulta
this.jButtonCompraInserir.setEnabled(true);
this.jButtonCompraExcluir.setEnabled(this.jTableCompras.getRowCount() != 0); // Existe algo para excluir?
this.jButtonCompraCancelar.setEnabled(false);
this.jButtonCompraSalvar.setEnabled(false);
this.estadoCompra = EstadoCompra.CONSULTANDO_COMPRA;
}
}
private void configurarMudancaDeEstadoPorEdicaoCompra() {
//Configura botões para Estado de Edição
this.jButtonCompraInserir.setEnabled(false);
this.jButtonCompraExcluir.setEnabled(false);
this.jButtonCompraCancelar.setEnabled(true);
this.jButtonCompraSalvar.setEnabled(true);
if (this.estadoCompra == EstadoCompra.CONSULTANDO_COMPRA) {
if (this.jTableCompras.getRowCount() != 0) { // Existe algo para editar?
this.estadoCompra = EstadoCompra.EDITANDO_COMPRA;
} else {
this.jButtonInserirClienteActionPerformed(null); // Executa uma inserção
}
}
}
private void cancelarInsercaoCompra() {
// Remove a linha em branco da lista e automaticamente do JTable
this.compraList.remove(this.jTableCompras.getSelectedRow());
if (this.jTableCompras.getRowCount() > 0) { // Se houver objetos na lista
// Seleciona o último da lista
this.jTableCompras.setRowSelectionInterval(this.jTableCompras.getRowCount() - 1, this.jTableCompras.getRowCount() - 1);
}
}
private void cancelarAtualizacaoCompra() {
// Busca o objeto com informações anteriores à atualização
Compra compra = new Compra();
if (compra.encontradoId(Long.valueOf(this.jTextFieldCompraId.getText()))) {
// Atualiza os campos com dados sem alteração
this.jTextFieldCompraDescricao.setText(compra.getDescricao());
this.jFormattedTextFieldCompraData.setText(new SimpleDateFormat("dd/MM/yyyy").format(compra.getData()));
DecimalFormat decimalFormat = new DecimalFormat("¤ #,##0.00");
this.jFormattedTextFieldCompraPrcUnitario.setText(decimalFormat.format(compra.getPrecoUnitario()));
this.jFormattedTextFieldCompraQtd.setText(String.valueOf(compra.getQtde()));
}
//Configura botões para o Estado de Consulta
this.jButtonCompraInserir.setEnabled(true);
this.jButtonCompraExcluir.setEnabled(this.jTableCompras.getRowCount() != 0); // Existe registro para excluir?
this.jButtonCompraCancelar.setEnabled(false);
this.jButtonCompraSalvar.setEnabled(false);
this.estadoCompra = EstadoCompra.CONSULTANDO_COMPRA;
}
private void inserirCompra() {
Compra compra = new Compra();
this.compraList.add(compra); // Insere no compraList para forçar a aparição de uma linha em branco no JTableCompras
// Seleciona objeto inserido na tabela e estabelece foco no campo "nome" (Apenas dar a sensação de inserção)
this.jTableCompras.setRowSelectionInterval(this.jTableCompras.getRowCount() - 1, this.jTableCompras.getRowCount() - 1);
this.jTextFieldCompraDescricao.requestFocus();
//Configura botões para estado de Inserção
this.jButtonCompraInserir.setEnabled(false);
this.jButtonCompraExcluir.setEnabled(false);
this.jButtonCompraCancelar.setEnabled(true);
this.jButtonCompraSalvar.setEnabled(true);
this.estadoCompra = EstadoCompra.INSERINDO_COMPRA;
}
private void salvarCompraEmInsercao() throws ParseException {
// Cria e configura o objeto
Compra compra = new Compra();
// Configura o objeto com os valores definidos nos campos
Cliente cliente = new Cliente();
cliente.encontradoId(Long.valueOf(this.jTextFieldId.getText()));
compra.setIdCliente(cliente);
compra.setDescricao(this.jTextFieldCompraDescricao.getText());
SimpleDateFormat data = new SimpleDateFormat("dd/MM/yyyy");
compra.setData((java.util.Date) data.parse(this.jFormattedTextFieldCompraData.getText()));
DecimalFormat decimalFormat = new DecimalFormat("¤ #,##0.00");
compra.setPrecoUnitario(decimalFormat.parse(this.jFormattedTextFieldCompraPrcUnitario.getText()).doubleValue());
compra.setQtde(Integer.parseInt(this.jFormattedTextFieldCompraQtd.getText()));
if (compra.armazenado()) { // Se armazenado objeto no BD
// Retira o objeto da lista e o adiciona com o id
this.compraList.remove(this.jTableCompras.getSelectedRow());
this.compraList.add(compra);
// Seleciona o último da lista
this.jTableCompras.setRowSelectionInterval(this.jTableCompras.getRowCount() - 1, this.jTableCompras.getRowCount() - 1);
// Configura botões em Estado de Consulta
this.jButtonCompraInserir.setEnabled(true);
this.jButtonCompraExcluir.setEnabled(this.jTableCompras.getRowCount() != 0); // Existe registro para excluir?
this.jButtonCompraCancelar.setEnabled(false);
this.jButtonCompraSalvar.setEnabled(false);
this.estadoCompra = EstadoCompra.CONSULTANDO_COMPRA;
}
}
private void salvarCompraEmAtualizacao() throws ParseException {
// Cria e configura o objeto
Compra compra = new Compra();
// Encontra e carrega o objeto de atualização
if (compra.encontradoId(Long.valueOf(this.jTextFieldCompraId.getText()))) {
// Atualiza o objeto
compra.setDescricao(this.jTextFieldCompraDescricao.getText());
SimpleDateFormat data = new SimpleDateFormat("dd/MM/yyyy");
compra.setData((java.util.Date) data.parse(this.jFormattedTextFieldCompraData.getText()));
DecimalFormat decimalFormat = new DecimalFormat("¤ #,##0.00");
compra.setPrecoUnitario(decimalFormat.parse(this.jFormattedTextFieldCompraPrcUnitario.getText()).doubleValue());
compra.setQtde(Integer.parseInt(this.jFormattedTextFieldCompraQtd.getText()));
if (compra.atualizado()) { // Se atualizado objeto no BD
// Configura botões em Estado de Consulta
this.jButtonCompraInserir.setEnabled(true);
this.jButtonCompraExcluir.setEnabled(this.jTableCompras.getRowCount() != 0); // Existe registro para excluir?
this.jButtonCompraCancelar.setEnabled(false);
this.jButtonCompraSalvar.setEnabled(false);
this.estadoCompra = EstadoCompra.CONSULTANDO_COMPRA;
}
}
}
// Variables declaration - do not modify
private javax.persistence.EntityManager JavaApplicationCadastroClientePUEntityManager;
private java.util.List<controle.Cliente> clienteList;
private javax.persistence.Query clienteQuery;
private java.util.List<controle.Compra> compraList;
private javax.persistence.Query compraQuery;
private javax.swing.JButton jButtonCancelarCliente;
private javax.swing.JButton jButtonCompraCancelar;
private javax.swing.JButton jButtonCompraExcluir;
private javax.swing.JButton jButtonCompraInserir;
private javax.swing.JButton jButtonCompraSalvar;
private javax.swing.JButton jButtonExcluirCliente;
private javax.swing.JButton jButtonInserirCliente;
private javax.swing.JButton jButtonSalvarCliente;
private javax.swing.JFormattedTextField jFormattedTextFieldCompraData;
private javax.swing.JFormattedTextField jFormattedTextFieldCompraPrcUnitario;
private javax.swing.JFormattedTextField jFormattedTextFieldCompraQtd;
private javax.swing.JLabel jLabelCidade;
private javax.swing.JLabel jLabelCpf;
private javax.swing.JLabel jLabelCpfBusca;
private javax.swing.JLabel jLabelData;
private javax.swing.JLabel jLabelDescricao;
private javax.swing.JLabel jLabelEndereco;
private javax.swing.JLabel jLabelEstado;
private javax.swing.JLabel jLabelIDCompra;
private javax.swing.JLabel jLabelId;
private javax.swing.JLabel jLabelNome;
private javax.swing.JLabel jLabelQtd;
private javax.swing.JLabel jLabelValorUnitario;
private javax.swing.JPanel jPanelCliente;
private javax.swing.JPanel jPanelCompras;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JTabbedPane jTabbedPaneCliente;
private javax.swing.JTable jTableClientes;
private javax.swing.JTable jTableCompras;
private javax.swing.JTextField jTextFieldCPF;
private javax.swing.JButton jTextFieldCPFBusca;
private javax.swing.JTextField jTextFieldCidade;
private javax.swing.JTextField jTextFieldCompraDescricao;
private javax.swing.JTextField jTextFieldCompraId;
private javax.swing.JTextField jTextFieldCpfBusca;
private javax.swing.JTextField jTextFieldEndereco;
private javax.swing.JTextField jTextFieldEstado;
private javax.swing.JTextField jTextFieldId;
private javax.swing.JTextField jTextFieldNome;
private org.jdesktop.beansbinding.BindingGroup bindingGroup;
// End of variables declaration
}
Script para Conexão com Oracle
Classe Java para conectar ao Mysql em um servidor remoto
Oracle - Teste de conexão com o banco
Conexão com Banco de Dados MySQL
Nenhum comentário foi encontrado.
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
É normal não gostar de KDE? (7)
O programa assinador digital (0)
dpkg: erro: gatilho de arquivo duplicado chamado pelo arquivo de nome (6)









