Connection conn;
Conexao conexao = new Conexao();
ModeloPDV modelo = new ModeloPDV();
ControlePDV controleP = new ControlePDV();
ControlePDV controle = new ControlePDV();
ModeloProduto modeloPro = new ModeloProduto();
PreparedStatement pst;
ResultSet rs;
int flag = 0;
int enter = 0;
DefaultListModel modeloList;
/**
* Creates new form TelaPDV
*/
public TelaPDV() {
initComponents();
conn = Conexao.conector();
preencherCliente();
lista.setVisible(false);
modeloList = new DefaultListModel();
lista.setModel(modeloList);
}
public void preencherCliente() {
conn = Conexao.conector();
String sql = "Select * from tbcliente order by nomecli";
try {
pst = conn.prepareStatement(sql);
rs = pst.executeQuery();
rs.first();
cbClientes.removeAllItems();
do {
cbClientes.addItem(rs.getString("nomecli"));
} while (rs.next());
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "Erro ao preencher clientes " + e.getMessage());
System.out.println(e.getMessage());
}
}
public void setPosicao() {
Dimension d = this.getDesktopPane().getSize();
this.setLocation((d.width - this.getSize().width) / 2, (d.height - this.getSize().height) / 2);
}
/**
* 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() {
grupoDeBotoes = new javax.swing.ButtonGroup();
jPanel1 = new javax.swing.JPanel();
txtQuantidade = new javax.swing.JTextField();
txtDesconto = new javax.swing.JTextField();
txtValorUnitario = new javax.swing.JTextField();
txtValorTotal = new javax.swing.JTextField();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
cbClientes = new javax.swing.JComboBox<>();
jLabel8 = new javax.swing.JLabel();
jPanel2 = new javax.swing.JPanel();
txtPesquisa_ProdutosServicos = new javax.swing.JTextField();
lista = new javax.swing.JList<>();
rbProdutos = new javax.swing.JRadioButton();
rbServicos = new javax.swing.JRadioButton();
jLabel6 = new javax.swing.JLabel();
lblItens = new javax.swing.JLabel();
btnAdicionar = new javax.swing.JButton();
btnFinalizaVenda = new javax.swing.JButton();
btnCancelaVenda = new javax.swing.JButton();
btnNovaVenda = new javax.swing.JButton();
jPanel3 = new javax.swing.JPanel();
jScrollPane1 = new javax.swing.JScrollPane();
tblPDV = new javax.swing.JTable();
setClosable(true);
setIconifiable(true);
jPanel1.setBackground(new java.awt.Color(206, 202, 202));
jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
txtQuantidade.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txtDesconto.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txtValorUnitario.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txtValorUnitario.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtValorUnitarioActionPerformed(evt);
}
});
txtValorTotal.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel1.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel1.setText("QUANTIDADE");
jLabel2.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel2.setText("DESCONTO %");
jLabel3.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel3.setText("VALOR UNITÁRIO R$");
jLabel4.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel4.setText("VALOR TOTAL R$");
cbClientes.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
cbClientes.setModel(new javax.swing.DefaultComboBoxModel<>(new String[] { "Item 1", "Item 2", "Item 3", "Item 4" }));
jLabel8.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel8.setText("Cliente");
javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
jPanel1.setLayout(jPanel1Layout);
jPanel1Layout.setHorizontalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(cbClientes, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(txtValorUnitario)
.addComponent(txtValorTotal)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addComponent(txtQuantidade, javax.swing.GroupLayout.PREFERRED_SIZE, 162, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 30, Short.MAX_VALUE)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtDesconto, javax.swing.GroupLayout.PREFERRED_SIZE, 144, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel2)))
.addGroup(jPanel1Layout.createSequentialGroup()
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel3)
.addComponent(jLabel4)
.addComponent(jLabel8))
.addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
);
jPanel1Layout.setVerticalGroup(
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel1Layout.createSequentialGroup()
.addContainerGap(24, Short.MAX_VALUE)
.addComponent(jLabel8)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(cbClientes, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(28, 28, 28)
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addComponent(jLabel2)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(txtDesconto, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(16, 16, 16))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
.addComponent(jLabel1)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtQuantidade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)))
.addComponent(jLabel3)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtValorUnitario, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(24, 24, 24)
.addComponent(jLabel4)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(txtValorTotal, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(52, 52, 52))
);
jPanel1Layout.linkSize(javax.swing.SwingConstants.VERTICAL, new java.awt.Component[] {cbClientes, txtDesconto, txtQuantidade, txtValorTotal, txtValorUnitario});
jPanel2.setBackground(new java.awt.Color(206, 202, 202));
jPanel2.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
txtPesquisa_ProdutosServicos.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
txtPesquisa_ProdutosServicos.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true));
txtPesquisa_ProdutosServicos.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
txtPesquisa_ProdutosServicosActionPerformed(evt);
}
});
txtPesquisa_ProdutosServicos.addKeyListener(new java.awt.event.KeyAdapter() {
public void keyPressed(java.awt.event.KeyEvent evt) {
txtPesquisa_ProdutosServicosKeyPressed(evt);
}
public void keyReleased(java.awt.event.KeyEvent evt) {
txtPesquisa_ProdutosServicosKeyReleased(evt);
}
});
lista.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
lista.addMouseListener(new java.awt.event.MouseAdapter() {
public void mouseClicked(java.awt.event.MouseEvent evt) {
listaMouseClicked(evt);
}
});
grupoDeBotoes.add(rbProdutos);
rbProdutos.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
rbProdutos.setText("Produtos");
rbProdutos.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
rbProdutosActionPerformed(evt);
}
});
grupoDeBotoes.add(rbServicos);
rbServicos.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
rbServicos.setText("Serviços");
jLabel6.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
jLabel6.setText("Itens");
lblItens.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
lblItens.setText("Itens");
btnAdicionar.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
btnAdicionar.setText("ADICIONAR");
btnAdicionar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btnAdicionarActionPerformed(evt);
}
});
btnFinalizaVenda.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
btnFinalizaVenda.setText("Finalizar Venda");
btnCancelaVenda.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
btnCancelaVenda.setText("Cancela Venda");
btnNovaVenda.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
btnNovaVenda.setText("Nova venda");
tblPDV.setBorder(javax.swing.BorderFactory.createBevelBorder(javax.swing.border.BevelBorder.LOWERED));
tblPDV.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
tblPDV.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{},
{},
{},
{}
},
new String [] {
}
));
tblPDV.setGridColor(new java.awt.Color(255, 255, 255));
jScrollPane1.setViewportView(tblPDV);
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
jPanel3.setLayout(jPanel3Layout);
jPanel3Layout.setHorizontalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 535, Short.MAX_VALUE)
);
jPanel3Layout.setVerticalGroup(
jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel3Layout.createSequentialGroup()
.addContainerGap()
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 98, Short.MAX_VALUE)
.addContainerGap())
);
javax.swing.GroupLayout jPanel2Layout = new javax.swing.GroupLayout(jPanel2);
jPanel2.setLayout(jPanel2Layout);
jPanel2Layout.setHorizontalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(10, 10, 10)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(rbProdutos)
.addGap(10, 10, 10)
.addComponent(rbServicos)
.addGap(230, 230, 230)
.addComponent(jLabel6)
.addGap(10, 10, 10)
.addComponent(lblItens))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(6, 6, 6)
.addComponent(lista, javax.swing.GroupLayout.PREFERRED_SIZE, 390, javax.swing.GroupLayout.PREFERRED_SIZE))
.addComponent(txtPesquisa_ProdutosServicos, javax.swing.GroupLayout.PREFERRED_SIZE, 406, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(6, 6, 6)
.addComponent(btnAdicionar))
.addGroup(jPanel2Layout.createSequentialGroup()
.addComponent(btnFinalizaVenda)
.addGap(6, 6, 6)
.addComponent(btnCancelaVenda, javax.swing.GroupLayout.PREFERRED_SIZE, 135, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(10, 10, 10)
.addComponent(btnNovaVenda))))
);
jPanel2Layout.setVerticalGroup(
jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(11, 11, 11)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(4, 4, 4)
.addComponent(rbProdutos))
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(4, 4, 4)
.addComponent(rbServicos))
.addComponent(jLabel6, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(2, 2, 2)
.addComponent(lblItens, javax.swing.GroupLayout.PREFERRED_SIZE, 33, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(7, 7, 7)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtPesquisa_ProdutosServicos, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnAdicionar, javax.swing.GroupLayout.PREFERRED_SIZE, 48, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(43, 43, 43)
.addComponent(lista, javax.swing.GroupLayout.PREFERRED_SIZE, 152, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(18, 18, 18)
.addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(jPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(btnFinalizaVenda, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btnCancelaVenda, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(jPanel2Layout.createSequentialGroup()
.addGap(3, 3, 3)
.addComponent(btnNovaVenda))))
);
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
.addContainerGap())
);
pack();
}// </editor-fold>
private void txtValorUnitarioActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void btnAdicionarActionPerformed(java.awt.event.ActionEvent evt) {
}
private void txtPesquisa_ProdutosServicosKeyPressed(java.awt.event.KeyEvent evt) {
}
TelaAdicionaProdutosVenda telaAdProVenda;
private void rbProdutosActionPerformed(java.awt.event.ActionEvent evt) {
if (telaAdProVenda == null) {
telaAdProVenda = new TelaAdicionaProdutosVenda();
desktop.add(telaAdProVenda);
telaAdProVenda.setVisible(true);
telaAdProVenda.setPosicao();
} else if (telaAdProVenda.isClosed()) {
telaAdProVenda = new TelaAdicionaProdutosVenda();
desktop.add(telaAdProVenda);
telaAdProVenda.setVisible(true);
telaAdProVenda.setPosicao();
desktop.moveToFront(telaAdProVenda);
} else {
JOptionPane.showMessageDialog(null, "A tela usuário já esta aberta");
}
desktop.moveToFront(telaAdProVenda);
}
private void txtPesquisa_ProdutosServicosKeyReleased(java.awt.event.KeyEvent evt) {
listaDePesquisa();