package Estoque;
import java.sql.*;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.*;
import java.awt.event.*;
class Cadastro extends JDialog implements ActionListener
{
/**
* @author Michael Alexader
* @category Comercial
*/
private static Cadastro Instance = null;
private static final long serialVersionUID = 1L;
static ImageIcon Icon = new ImageIcon("book.png");
static JLabel LCodProduto, LNomeProduto, LNomeFornecedor;
static JButton btGravar,btExcluir,btNovo,btLocalizar, btCancelar;
static JTextField tfCodProduto,tfNomeProduto, tfNomeFornecedor;
static JPanel painel1 = new JPanel();
static JPanel painel2 = new JPanel();
static String Produtos = "select * from produto";
Tabela table = new Tabela("SELECT * FROM Produto ORDER BY codProduto");
public Cadastro()
{
try
{
setTitle("Cadastro de Produtos: ");
setBounds(200,100,570,230);
setResizable(false);
setVisible(false);
setLayout(new BorderLayout());
setUndecorated(true);
getRootPane().setWindowDecorationStyle(1);
setIconImage(Icon.getImage());
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
painel1.setLayout(null);
painel1.setBorder(new TitledBorder("Digite os Dados: "));
painel2.setLayout(new FlowLayout(FlowLayout.CENTER));
LCodProduto = new JLabel("Codigo do Produto: ");
LNomeProduto = new JLabel("Nome do Produto:");
LNomeFornecedor = new JLabel("Nome do Fornecedor:");
tfCodProduto = new JTextField(10);
tfNomeProduto = new JTextField(25);
tfNomeFornecedor = new JTextField(20);
btGravar = new JButton("Gravar");
btExcluir = new JButton("Excluir");
btLocalizar = new JButton("Localizar");
btNovo = new JButton("Novo"); btNovo.setSelected(true);
btCancelar = new JButton("Cancelar");
tfCodProduto .addActionListener(this);
btGravar .addActionListener(this);
btExcluir .addActionListener(this);
btLocalizar .addActionListener(this);
btNovo .addActionListener(this);
btCancelar .addActionListener(this);
painel1.add(LCodProduto); painel1.add(tfCodProduto);
painel1.add(LNomeProduto); painel1.add(tfNomeProduto);
painel1.add(LNomeFornecedor); painel1.add(tfNomeFornecedor);
painel2.add(btNovo); painel2.add(btLocalizar);
painel2.add(btGravar);
painel2.add(btExcluir); painel2.add(btCancelar);
Tabela.Scroller.setBounds(230,20,320,130);
painel1.add(Tabela.Scroller);
LCodProduto .setBounds(20,22,200,20); tfCodProduto .setBounds(20,40,100,20);
LNomeProduto .setBounds(20,57,200,20); tfNomeProduto .setBounds(20,75,200,20);
LNomeFornecedor .setBounds(20,92,200,20); tfNomeFornecedor .setBounds(20,110,200,20);
setTexts(true, false, false);
add("Center", painel1);
add("South", painel2);
setBotoes(true,true,false,false,false);
}
catch (Exception ex)
{
JOptionPane.showMessageDialog(null,"Erro");
}
if (!BD.getConnection())
{
JOptionPane.showMessageDialog(null, "Falha na conexão, o sistema será fechado!");
System.exit(0);
}
}
public void actionPerformed(ActionEvent e)
{
if (e.getSource()==btNovo) //Configuração de ação do botão NOVO
{
setBotoes(false,false,true,false,true);
setTexts(true, true, true);
limpaCampos();
tfCodProduto.requestFocus();
table.atualizaBD("SELECT * FROM Produto");
return;
}
if (e.getSource()==btCancelar) //Configuração de ação do botão CANCELAR
{
setBotoes(true,true,false,false,false);
setTexts(true, false, false);
limpaCampos();
table.atualizaBD("SELECT * FROM Produto");
return;
}
if (e.getSource()==btGravar) //Configuração de ação do botãO GRAVAR
{
String sql = "";
if (e.getSource()==btGravar)
{
sql = "INSERT INTO Produto (codProduto,nomeProduto, nomeFornecedor) Values ('" + tfCodProduto.getText() + "','" + tfNomeProduto.getText() + "','" + tfNomeFornecedor.getText() + "')";
}
int result = BD.runSQL(sql);
if (result==1)
{
setBotoes(true,true,false,false,false);
setTexts(true, false, false);
table.atualizaBD("SELECT * FROM Produto");
limpaCampos();
}
else
JOptionPane.showMessageDialog(null,"Problemas na operação!\n verifique se você digitou os campos corretamente!", "Falhou...", JOptionPane.WARNING_MESSAGE);
BD.setResultSet(Produtos);
}
if (e.getSource()==btExcluir) //Configuração de ação do botão EXCLUIR
{
String sql = "SELECT codProduto, nomeProduto, nomeFornecedor FROM Produto Where codProduto = '"+tfCodProduto.getText()+"'";
BD.setResultSet(sql);
String nome = "";
try
{
BD.resultSet.next();
nome = "Deletar o Produto:\n " + BD.resultSet.getString("nomeProduto");
}
catch(SQLException ex1)
{
JOptionPane.showMessageDialog(null,"Produto não cadastrado!");
tfCodProduto.requestFocus();
BD.setResultSet(Produtos);
return;
}
int n = JOptionPane.showConfirmDialog(null,nome," Excluir...",JOptionPane.YES_NO_OPTION);
if (n==JOptionPane.YES_OPTION)
{
sql = "DELETE FROM Produto Where codProduto = '" + tfCodProduto.getText() + "'";
int r = BD.runSQL(sql);
if (r==1)
{
table.atualizaBD("SELECT * FROM Produto");
}
else
JOptionPane.showMessageDialog(null,"Não foi possível excluir o Produto");
limpaCampos();
setBotoes(true,true,false,false,false);
}
BD.setResultSet(Produtos);
}
if (e.getSource()==btLocalizar)
{
try
{
String sql = "SELECT * FROM Produto Where codProduto = '" + tfCodProduto.getText() + "'";
BD.setResultSet(sql);
if (BD.resultSet.next())
{
atualizaCampos();
tfNomeProduto.requestFocus();
setBotoes(true,true,false,true,false);
}
else
{
JOptionPane.showMessageDialog(null,"Produto não Encontrado!");
tfCodProduto.requestFocus();
BD.setResultSet(Produtos);
}
}
catch(Exception erro) {}
}
}
public static void limpaCampos()
{
tfCodProduto.setText("");
tfNomeProduto.setText("");
tfNomeFornecedor.setText("");
}
public void atualizaCampos()
{
try
{
tfCodProduto.setText(BD.resultSet.getString("codProduto"));
tfNomeProduto.setText(BD.resultSet.getString("nomeProduto"));
tfNomeFornecedor.setText(BD.resultSet.getString("nomeFornecedor"));
}
catch(SQLException erro) { }
}
public void setBotoes(boolean bNovo,boolean bLocalizar,boolean bGravar,boolean bExcluir,boolean bCancelar)
{
btNovo.setEnabled(bNovo);
btLocalizar.setEnabled(bLocalizar);
btGravar.setEnabled(bGravar);
btExcluir.setEnabled(bExcluir);
btCancelar.setEnabled(bCancelar);
}
public void setTexts(boolean Codigo, boolean Nome, boolean Fornecedor)
{
tfCodProduto.setEditable(Codigo);
tfNomeProduto.setEditable(Nome);
tfNomeFornecedor.setEditable(Fornecedor);
}
public static void main(String[] args)
{
Cadastro Cadastro = null;
if(Cadastro.isShowing() == false)
{
Cadastro = new Cadastro();
}
}
}