Olá, estou desenvolvendo um programa que possui as seguintes finalidades:
- Criar
- Editar
- Excluir
Estou utilizando o MySQL como meu bd, e preciso criar uma opçao de editar os dados após realizar um busca.
MAS gostaria de editar esses dados a partir da mesma interface de cadastro.
Simplificando quero editar e cadastrar utilizando um unica “janela”.
Segue o codigo desta classe.
import java.sql.Date.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.sql.*;
import javax.swing.text.MaskFormatter;
public class Cadastro extends JFrame {
//criaçao dos campos nome, datavenda, telefone, celular, end./cidade e obs
private JTextField nome = new JTextField();
private JTextField codOsv = new JTextField();
private javax.swing.JFormattedTextField dataVenda = new JFormattedTextField();
String status[] = {"FECHADO", "ATIVO", "CANCELADO"};
private JComboBox sts = new JComboBox(status);
String fpag[] = {"CHEQUE", "À VISTA", "CARTEIRA", "DIFERENCIADO"};
private JComboBox pag = new JComboBox(fpag);
private JTextField xpag = new JTextField();
String x[] = {"1", "2", "3", "4", "5", "6", "7", "8", "9", "10"};
private JComboBox xpgm = new JComboBox(x);
private JTextField prazoE = new JTextField();
String v[] = {"FUNCIONARIO", "FUNCIONARIO","FUNCIONARIO", "FUNCIONARIO","FUNCIONARIO"};
private JComboBox vend = new JComboBox(v);
private JTextField tipo_p = new JTextField();
private javax.swing.JFormattedTextField telefone = new JFormattedTextField();
private JFormattedTextField celular = new JFormattedTextField();
JComboBox cdd = new JComboBox();
private JTextField endereco = new JTextField();
private JTextField cidade = new JTextField();
String est[] = {"RS","RJ","SP","MG"};
private JComboBox estd = new JComboBox(est);
private JTextField obs = new JTextField();
private JLabel labelNome = new JLabel("NOME");
private JLabel labelCodOsv = new JLabel("COD-OSV");
private JLabel labelDataVenda = new JLabel("DATA VENDA");
private JLabel labelStatus = new JLabel("STATUS");
private JLabel labelFormPag = new JLabel("PAGAMENTO");
private JLabel labelXPag = new JLabel("x");
private JLabel labelprazoE = new JLabel("PRAZO");
private JLabel labeldias = new JLabel("dias");
private JLabel labelvendedor = new JLabel("VENDEDOR");
private JLabel labelProduto = new JLabel("PRODUTO");
private JLabel labelTelefone = new JLabel("TELEFONE");
private JLabel labelCelular = new JLabel("CELULAR");
private JLabel labelEndereco = new JLabel("ENDEREÇO");
private JLabel labelCidade = new JLabel("CIDADE");
private JLabel labelEstado = new JLabel("ESTADO");
private JLabel labelObs = new JLabel("OBS");
//private JComboBox status = new JComboBox();
private JButton btnSalvar = new JButton("SALVAR");
private JButton btnCancelar = new JButton("CANCELAR");
public Cadastro() {
iniciaComponentes();
}
public void iniciaComponentes() {
this.getContentPane().setLayout(null);
this.setSize(800, 400);
this.setLocation(280, 200);
this.setTitle("REDE VITORIA - GERENCIAMENTO DE DADOS");
this.setResizable(false);
nome.setBounds(new Rectangle(150, 37, 300, 21));
this.getContentPane().add(nome, null);
codOsv.setBounds(new Rectangle(580, 37, 110, 21));
this.getContentPane().add(codOsv, null);
dataVenda.setBounds(new Rectangle(150, 65, 110, 21));
this.getContentPane().add(dataVenda, null);
sts.setBounds(new Rectangle(340, 65, 110, 21));
this.getContentPane().add(sts, null);
pag.setBounds(new Rectangle(580, 65, 110, 21));
this.getContentPane().add(pag, null);
xpgm.setBounds(new Rectangle(710, 65, 40, 21));
this.getContentPane().add(xpgm, null);
telefone.setBounds(new Rectangle(150, 121, 110, 21));
this.getContentPane().add(telefone, null);
celular.setBounds(new Rectangle(340, 121, 110, 21));
this.getContentPane().add(celular, null);
prazoE.setBounds(new Rectangle(150, 93, 40, 21));
this.getContentPane().add(prazoE, null);
vend.setBounds(new Rectangle(340, 93, 110, 21));
this.getContentPane().add(vend, null);
tipo_p.setBounds(new Rectangle(580, 93, 110, 21));
this.getContentPane().add(tipo_p, null);
endereco.setBounds(new Rectangle(150, 149, 300, 21));
this.getContentPane().add(endereco, null);
cidade.setBounds(new Rectangle(150, 177, 140, 21));
this.getContentPane().add(cidade, null);
estd.setBounds(new Rectangle(370, 177, 75, 21));
this.getContentPane().add(estd, null);
obs.setBounds(new Rectangle(150, 233, 300, 21));
this.getContentPane().add(obs, null);
labelNome.setBounds(new Rectangle(40, 42, 150, 13));
this.getContentPane().add(labelNome, null);
labelCodOsv.setBounds(new Rectangle(480, 42, 150, 13));
this.getContentPane().add(labelCodOsv, null);
labelDataVenda.setBounds(new Rectangle(40, 70, 150, 13));
this.getContentPane().add(labelDataVenda, null);
labelprazoE.setBounds(new Rectangle(40, 95, 150, 13));
this.getContentPane().add(labelprazoE, null);
labeldias.setBounds(new Rectangle(200, 93, 40, 21));
this.getContentPane().add(labeldias, null);
labelvendedor.setBounds(new Rectangle(260, 95, 150, 13));
this.getContentPane().add(labelvendedor, null);
labelTelefone.setBounds(new Rectangle(40, 121, 150, 13));
this.getContentPane().add(labelTelefone, null);
labelCelular.setBounds(new Rectangle(263, 121, 150, 13));
this.getContentPane().add(labelCelular, null);
labelStatus.setBounds(new Rectangle(263, 70, 150, 13));
this.getContentPane().add(labelStatus, null);
labelFormPag.setBounds(new Rectangle(480, 70, 150, 13));
this.getContentPane().add(labelFormPag, null);
labelXPag.setBounds(new Rectangle(760, 67, 40, 21));
this.getContentPane().add(labelXPag, null);
labelProduto.setBounds(new Rectangle(480, 93, 150, 13));
this.getContentPane().add(labelProduto, null);
labelEndereco.setBounds(new Rectangle(40, 152, 150, 13));
this.getContentPane().add(labelEndereco, null);
labelCidade.setBounds(new Rectangle(40, 182, 150, 13));
this.getContentPane().add(labelCidade, null);
labelEstado.setBounds(new Rectangle(298, 182, 150, 13));
this.getContentPane().add(labelEstado, null);
labelObs.setBounds(new Rectangle(40, 233, 150, 13));
this.getContentPane().add(labelObs, null);
//metodo ira criar uma conexao com o bd
btnSalvar.setBounds(new Rectangle(235, 300, 110, 30));
this.getContentPane().add(btnSalvar, null);
btnSalvar.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e) {
// Chamada ao Procedimento
//JOptionPane.showMessageDialog(null,"VOCE NAO PODE FAZER ISSO !");
salvar();
}
});
btnCancelar.setBounds(new Rectangle(390, 300, 110, 30));
this.getContentPane().add(btnCancelar, null);
btnCancelar.addActionListener (new ActionListener() {
public void actionPerformed(ActionEvent e) {
sair();
}
});
dataVenda.setText("DATA VENDA");
try {
dataVenda.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory
(new javax.swing.text.MaskFormatter("##/##/####")));
} catch (java.text.ParseException ex) {
ex.printStackTrace();
System.out.println("NAO PODE PROSSEGUIR \n\n"+ ex.getMessage());
}
telefone.setText("TELEFONE");
try {
telefone.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory
(new javax.swing.text.MaskFormatter("(##) ####-####"))
);
} catch (java.text.ParseException ex) {
ex.printStackTrace();
System.out.println("NAO PODE PROSSEGUIR \n\n"+ ex.getMessage());
}
celular.setText("Celular");
try {
celular.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("(##) ####-####")));
} catch (java.text.ParseException ex) {
ex.printStackTrace();
System.out.println("NAO PODE PROSSEGUIR \n\n"+ ex.getMessage());
}
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e) {
aoFechar();
}
});
}
private MaskFormatter setMascara(String mascara){
MaskFormatter mask = null;
try{
mask = new MaskFormatter(mascara);
}catch(java.text.ParseException ex){}
return mask;
}
private void aoFechar() {
dispose();
}
private void sair() {
this.setVisible(false); //tela atual fecha
Menu run = new Menu();
run.setVisible(true);
}
private void salvar() {
JOptionPane.showMessageDialog(null,"SALVANDO ARQUIVOS ...");
Connection con = null;
String url = "jdbc:mysql://localhost:3306/";
String db = "Gestao";
String driver = "com.mysql.jdbc.Driver";
try{
Class.forName(driver);
con = DriverManager.getConnection(url+db,"root","SENHA");
Statement stm = con.createStatement();
try{
//int dv = Integer.parseInt( dataVenda.getText() );
String nm = nome.getText();
String cdosv = codOsv.getText();
String dv = dataVenda.getText();
String st = (String) sts.getSelectedItem();
String pgmnt = (String) pag.getSelectedItem();
String xpg = (String) xpgm.getSelectedItem();
String prz = prazoE.getText();
String vendd = (String) vend.getSelectedItem();
String prdt = tipo_p.getText();
String tel = telefone.getText();
String cel = celular.getText();
String end = endereco.getText();
String cd = cidade.getText();
String std = (String) estd.getSelectedItem();
stm.executeUpdate("INSERT INTO cliente (nome,cod_osv,datavenda,status,pagamento_f,pagamento_x,"
+ "prazo,vendedor,prod_t,telefone,celular,endereco,cidade,estado)"
+ " values ('" + nm + "','" + cdosv + "','" + dv + "','" + st + "','" + pgmnt + "'"
+ ",'" + xpg + "','" + prz + "','" + vendd + "','" + prdt + "','" + tel + "'"
+ ",'" + cel + "','" + end + "','" + cd + "','" + std + "')" );
con.close();
}
catch (SQLException s){
System.out.println("NAO PODE PROSSEGUIR \n\n"+ s.getMessage());
}
}
catch (Exception e){
e.printStackTrace();
System.out.println("NAO PODE PROSSEGUIR \n\n"+ e.getMessage());
}
//termina de executar a gravaçao do arquivo e volta ao menu
this.setVisible(false); //tela atual fecha
Menu run = new Menu();
run.setVisible(true);
}
}//finaliza classe Cadastro
Obs:. O codigo por si só esta uma bagunça devido à algumas circunstancias, esta rodando perfeitamente…