Galera, estou re-montando um sistema que ja fiz. Sempre quis usar MVC nele, mais nunca consegui encontrar nada que presta sobre mvc. Todo tutorial / apostila que fala de mvc só fala que um controla o outro e atualiza o outro e só isso. O pessoal fica dando volta volta volta e todo mundo falando sempre a mesma coisa e no fim nunca falando nada.
Se alguem tiver alguma coisa sobre MVC ( livro, apostila, tutorial, exemplo, diagrama uml, rabisco no paint,...) mais tem que ser algo diferente daquilo que nego faz pra entregar na facul só por que o professor pediu e copia qualquer asneira falando o de sempre.
No meu sistema (versão antiga) está assim:
Pacotes:
model
->Contato
view
->GuiContatoManipular
persistent
->GerenciadorDeAcessoAoBancoDeDados
*Eu não possuo o Controller pq não sei como usá-lo.*
Contato é um Java Bean. (geters, setters...)
Meu código da GuiContatoManipular é :
* Retirei os imports... gettes, setters e outras asneiras que não interressam no momento./**
* @author Gabriel Henrique Martinez Saraiva
*
* GUI de cadastro de contatos.
*
*/
package view.gui.contatos;
@SuppressWarnings("serial")
public class GuiContatosManipular extends Gui {
// Declaração dos objetos =================================================
JLabel labelIdcontato;
// Dados Basicos OK
JTabbedPane painelAbas = new JTabbedPane();
GuiServicos guiServicos;
GuiDesepsas guiContas;
JTextField textRazaoSocial = new JTextField(10);
JTextField textNomeCompleto = new JTextField(30);
JTextField textOutros = new JTextField(10);
JTextArea textAreaObs = new JTextArea(3, 30);
JDateChooser calendarioDataDeNascimento = new JDateChooser();
JDateChooser calendarioDataDeCadastro = new JDateChooser(new Date());
JComboBox comboIndicador = new JComboBox(VariaveisDeSistema.INDICADORES);
JCheckBox checkExcluido = new JCheckBox("Excluido");
private JScrollPane scroolGui;
// Contato OK
JFormattedTextField textTelefone = new JFormattedTextField(Funcoes.criarMascara("(##) ####-####"));
JTextField textTelefone2 = new JTextField(14);
JFormattedTextField textCelular = new JFormattedTextField(Funcoes.criarMascara("(##) ####-####"));
JFormattedTextField textFax = new JFormattedTextField(Funcoes.criarMascara("(##) ####-####"));
JTextField textEmail = new JTextField(10);
JTextField textContato = new JTextField(15);
JTextField textVinculo = new JTextField(10);
// Endereço OK
JTextField textlogradouro = new JTextField(10);
JTextField textNumero = new JTextField("0");
JTextField textBairro = new JTextField(10);
JFormattedTextField textCep = new JFormattedTextField(Funcoes.criarMascara("#####-###"));
JTextField textCidade = new JTextField("Araraquara");
JTextField textComplemento = new JTextField(10);
JTextField textLocalizacao = new JTextField(10);
JFormattedTextField textUf = new JFormattedTextField(Funcoes.criarMascara("UU"));
// Documentos OK
JFormattedTextField textCpf = new JFormattedTextField(Funcoes.criarMascara("###.###.###-##"));
JTextField textRg = new JTextField(9);
JTextField textCtps = new JTextField(10);
JTextField textCtpsSerie = new JTextField(10);
JTextField textInscricao = new JTextField(10);
JTextField textCnpj = new JTextField(15);
// Checks de tipo OK
JCheckBox checkCliente = new JCheckBox("Cliente");
JCheckBox checkFuncionario = new JCheckBox("Funcionário");
JCheckBox checkFornecedor = new JCheckBox("Fornecedor");
JCheckBox checkVIP = new JCheckBox("VIP");
// Botões
JButton botaoDetalhes = new JButton("Detalhes");
JButton botaoSalvar = new JButton("Salvar");
JButton botaoAlterar = new JButton("Alterar");
JButton botaoLimpar = new JButton("Limpar campos");
JButton botaoExcluir = new JButton("Excluir");
JButton botaoEtiquetaEndereco = new JButton("Etiqueta de Endereço");
PainelDeApoio painelDetalhes = new PainelDeApoio();
PainelDeApoio painelBotoes = new PainelDeApoio();
long idCliente = 0;
private boolean cadastrarApenas = false;
// Fim Declaração dos objetos
// ========================================================================
/**
* Parametros: 0 = Nenhum Contato<br>
* > 0 = Algum contato<br>
* -1 = Novo Contato<br>
*/
public GuiContatosManipular(long paramID) {
super("contatosManipular");
idCliente = paramID;
configurarGui();
gerenciadorDeAcoes();
limparCampos();
if (paramID > 0) {
carregarContato(paramID);
}
montarGui();
}
@Override
public void configurarGui() {
textNomeCompleto.setFont(VariaveisDeSistema.FONTE_DESTAQUE);
calendarioDataDeCadastro.setPreferredSize(VariaveisDeSistema.TAMANHO_CALENDARIO);
calendarioDataDeNascimento.setPreferredSize(VariaveisDeSistema.TAMANHO_CALENDARIO);
botaoDetalhes.setIcon(VariaveisDeSistema.ICONE_DETALHES);
botaoAlterar.setIcon(VariaveisDeSistema.ICONE_SALVAR);
botaoSalvar.setIcon(VariaveisDeSistema.ICONE_SALVAR);
botaoLimpar.setIcon(VariaveisDeSistema.ICONE_LIMPAR);
botaoExcluir.setIcon(VariaveisDeSistema.ICONE_EXCLUIR);
botaoEtiquetaEndereco.setIcon(VariaveisDeSistema.ICONE_IMPRIMIR);
botaoDetalhes.setMnemonic('D');
botaoAlterar.setMnemonic('A');
botaoSalvar.setMnemonic('S');
botaoLimpar.setMnemonic('L');
botaoExcluir.setMnemonic('E');
// Define destaque de campos importantes
textNomeCompleto.setBackground(VariaveisDeSistema.COR_DESTAQUE_1);
textTelefone.setBackground(VariaveisDeSistema.COR_DESTAQUE_1);
checkExcluido.setForeground(VariaveisDeSistema.COR_ALERTA_4);
comboIndicador.setBackground(VariaveisDeSistema.COR_DESTAQUE_1);
lblTitulo.setFont(VariaveisDeSistema.FONTE_TITULO);
lblTitulo.setText(idCliente > 0 ? "Contato" : "Cadastro de contatos");
lblTitulo.setIcon(VariaveisDeSistema.ICONE_CONTATOS);
textNomeCompleto.grabFocus();
if (idCliente > 0) {
painelDetalhes.setVisible(false);
}
textAreaObs.setToolTipText("<html>Esse campo tambem pode ser utilizado para adicionar informações para facilitar a localização." + "<br>Por exemplo: Caso o contato seja a Contratte Limpeza e Serviços Ltda."
+ "<br>Adicione algumas informações assim:" + "<br>limpeza;dedetização;jardinagem;desentupimento;" + "<br>E quando for realizar uma busca, utilize esses termos.</html>");
textAreaObs.setBorder(VariaveisDeSistema.BORDA_COMPONENTE_COM_ACAO_ESPECIEAL);
if (idCliente < 1) {
bloquearCamposPorTipo();
}
}
@Override
public void montarGui() {
try {
xAdd(new JLabel("Nome:"), 0, 1);
xAdd(textNomeCompleto, 1, 1, 1, 4);
// Tipo do contato
xAdd(new JLabel("Tipo:"), 6, 1);
xAdd(checkCliente, 7, 1);
xAdd(checkFornecedor, 8, 1);
xAdd(checkFuncionario, 9, 1);
xAdd(checkVIP, 10, 1);
xAdd(checkExcluido, 11, 1);
// Endereço
xAdd(new JSeparator(), 0, 2, 1, 12);
xAdd(painelDetalhes, 0, 4, 1, 12);
painelDetalhes.xAdd(new JLabel("Logradouro:"), 0, 4);
painelDetalhes.xAdd(textlogradouro, 1, 4, 1, 4);
painelDetalhes.xAdd(textNumero, 6, 4, 1, 2);
painelDetalhes.xAdd(new JLabel("Indicador:"), 0, 6);
painelDetalhes.xAdd(comboIndicador, 1, 6, 1, 3);
painelDetalhes.xAdd(new JLabel("Complemento:"), 8, 4);
painelDetalhes.xAdd(textComplemento, 9, 4, 1, 3);
painelDetalhes.xAdd(new JLabel("CEP:"), 0, 5);
painelDetalhes.xAdd(textCep, 1, 5);
painelDetalhes.xAdd(new JLabel("Bairro:"), 2, 5);
painelDetalhes.xAdd(textBairro, 3, 5, 1, 1);
painelDetalhes.xAdd(new JLabel("Cidade:"), 6, 5);
painelDetalhes.xAdd(textCidade, 7, 5, 1, 3);
painelDetalhes.xAdd(new JLabel("UF:"), 10, 5, 1, 1);
painelDetalhes.xAdd(textUf, 11, 5);
painelDetalhes.xAdd(new JLabel("Localização:"), 6, 6);
painelDetalhes.xAdd(textLocalizacao, 7, 6, 1, 5);
painelDetalhes.xAdd(new JSeparator(), 0, 7, 1, 12);
// Contato
painelDetalhes.xAdd(new JLabel("Contato:"), 0, 8);
painelDetalhes.xAdd(textContato, 1, 8, 1, 3);
painelDetalhes.xAdd(new JLabel("Telefone 1:"), 6, 8);
painelDetalhes.xAdd(textTelefone, 7, 8);
painelDetalhes.xAdd(new JLabel("Telefone 2:"), 8, 8);
painelDetalhes.xAdd(textTelefone2, 9, 8);
painelDetalhes.xAdd(new JLabel("Outros:"), 9, 9);
painelDetalhes.xAdd(textOutros, 10, 9, 1, 2);
painelDetalhes.xAdd(new JLabel("Celular:"), 10, 8);
painelDetalhes.xAdd(textCelular, 11, 8);
painelDetalhes.xAdd(new JLabel("Fax:"), 0, 9);
painelDetalhes.xAdd(textFax, 1, 9);
painelDetalhes.xAdd(new JLabel("Email:"), 2, 9);
painelDetalhes.xAdd(textEmail, 3, 9, 1, 2);
painelDetalhes.xAdd(new JLabel("Vinculo:"), 6, 9);
painelDetalhes.xAdd(textVinculo, 7, 9, 1, 2);
painelDetalhes.xAdd(new JSeparator(), 0, 10, 1, 12);
// Documentos
painelDetalhes.xAdd(new JLabel("CPF:"), 0, 11);
painelDetalhes.xAdd(textCpf, 1, 11);
painelDetalhes.xAdd(new JLabel("RG:"), 2, 11);
painelDetalhes.xAdd(textRg, 3, 11);
painelDetalhes.xAdd(new JLabel("Razão social:"), 6, 11);
painelDetalhes.xAdd(textRazaoSocial, 7, 11, 1, 5);
painelDetalhes.xAdd(new JLabel("CTPS:"), 0, 12);
painelDetalhes.xAdd(textCtps, 1, 12);
painelDetalhes.xAdd(new JLabel("SÉRIE:"), 2, 12);
painelDetalhes.xAdd(textCtpsSerie, 3, 12);
painelDetalhes.xAdd(new JLabel("CNPJ:"), 6, 12);
painelDetalhes.xAdd(textCnpj, 7, 12, 1, 2);
painelDetalhes.xAdd(new JLabel("Inscricão (Estadual/Municipal):"), 9, 12);
painelDetalhes.xAdd(textInscricao, 10, 12, 1, 2);
painelDetalhes.xAdd(new JLabel("Observações:"), 3, 13);
painelDetalhes.xAdd(textAreaObs, 4, 13, 3, 8);
if (idCliente <= 0) {
painelDetalhes.xAdd(botaoSalvar, 0, 14, 1, 2);
painelDetalhes.xAdd(botaoLimpar, 2, 14, 1, 2);
} else {
painelDetalhes.xAdd(botaoAlterar, 0, 14, 1, 2);
painelDetalhes.xAdd(botaoExcluir, 2, 14);
painelDetalhes.xAdd(botaoEtiquetaEndereco, 3, 14);
xAdd(botaoDetalhes, 0, 15, 1, 12);
xAdd(new JSeparator(), 0, 16, 1, 12);
}
} catch (Exception e) {
e.printStackTrace();
}
}
// ===========================================================================Ações
/** Cadastrar contato */
public void cadastrarcontato() {
try {
if (this.textNomeCompleto.getText().equals("")) {
JOptionPane.showMessageDialog(null, VariaveisDeSistema.ERRO_VALOR_CAMPO_INVALIDO + " [Cadastrar Contato (Nome Completo)]", VariaveisDeSistema.SISTEMA_NOME, JOptionPane.ERROR_MESSAGE);
} else {
// Monta o contato.
Contato novoContato = new Contato();
novoContato.setTipoCliente(checkCliente.isSelected());
novoContato.setTipoFornecedor(checkFornecedor.isSelected());
novoContato.setTipoFuncionario(checkFuncionario.isSelected());
novoContato.setVip(checkVIP.isSelected());
novoContato.setExcluido(checkExcluido.isSelected());
novoContato.setNomeCompleto(textNomeCompleto.getText());
novoContato.setRazaoSocial(textRazaoSocial.getText());
novoContato.setCtps(textCtps.getText());
novoContato.setCtpsSerie(textCtpsSerie.getText());
novoContato.setTelefone(textTelefone.getText());
novoContato.setTelefone2(textTelefone2.getText());
novoContato.setCelular(textCelular.getText());
novoContato.setFax(textFax.getText());
novoContato.setEmail(textEmail.getText());
novoContato.setContato(textContato.getText());
novoContato.setVinculo(textVinculo.getText());
novoContato.setOutros(textOutros.getText());
novoContato.setIndicador(String.valueOf(comboIndicador.getSelectedItem()));
novoContato.setObs(textAreaObs.getText());
// Endereço
novoContato.getEndereco().setLogradouro(Funcoes.corrigirLogradouro(textlogradouro.getText()));
novoContato.getEndereco().setNumero(Integer.parseInt(textNumero.getText().equals("") ? "0" : textNumero.getText()));
novoContato.getEndereco().setBairro(textBairro.getText());
novoContato.getEndereco().setCidade(textCidade.getText());
novoContato.getEndereco().setUf(textUf.getText());
novoContato.getEndereco().setCep(textCep.getText());
novoContato.getEndereco().setLocalizacao(textLocalizacao.getText());
novoContato.getEndereco().setComplemento(textComplemento.getText());
// Documentos
novoContato.setCnpj(textCnpj.getText());
novoContato.setCpf(textCpf.getText());
novoContato.setRg(textRg.getText());
novoContato.setInscricao(textInscricao.getText());
// Datas
novoContato.setDataDeCadastro(calendarioDataDeCadastro.getDate());
novoContato.setDataDeNascimento(calendarioDataDeNascimento.getDate());
long id = GerenciadorDeAcessoAoBanco.cadastrarContato(novoContato).getId();
Funcoes.exibirMensagem(VariaveisDeSistema.SUCESSO_REGISTRO_CADASTRADO, VariaveisDeSistema.ICONE_SUCESSO_PEQUENO);
if (!cadastrarApenas) {
Funcoes.fecharJanela(this.getComponenteParaExibicao());
Lancadores.launchContatosManipular(id);
} else {
}
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getCause().getMessage().toString());
}
}
public void bloquearCamposPorTipo() {
textCnpj.setEnabled(checkFornecedor.isSelected() || checkCliente.isSelected());
textCtps.setEnabled(checkFuncionario.isSelected());
textCtpsSerie.setEnabled(checkFuncionario.isSelected());
textRg.setEnabled(checkFuncionario.isSelected());
textCpf.setEnabled(checkFuncionario.isSelected() || checkCliente.isSelected());
textRazaoSocial.setEnabled(checkFornecedor.isSelected() || checkCliente.isSelected());
textInscricao.setEnabled(checkFornecedor.isSelected() || checkCliente.isSelected());
textCnpj.setEnabled(checkFornecedor.isSelected() || checkCliente.isSelected());
}
public void limparCampos() {
// Limpa todos os campos.
textNomeCompleto.setText("");
textlogradouro.setText("");
textNumero.setText("0");
textBairro.setText("");
textCep.setText("");
textCidade.setText("Araraquara");
textTelefone.setText("");
textTelefone2.setText("");
textCelular.setText("");
textFax.setText("");
textEmail.setText("");
textCpf.setText("");
textRg.setText("");
textVinculo.setText("");
textOutros.setText("");
textRazaoSocial.setText("");
textInscricao.setText("");
textContato.setText("");
textCnpj.setText("");
textUf.setText("SP");
textComplemento.setText("");
textLocalizacao.setText("");
calendarioDataDeCadastro.setDate(new Date());
calendarioDataDeNascimento.setDate(new Date());
textAreaObs.setText("");
checkCliente.setSelected(true);
checkFornecedor.setSelected(false);
checkFuncionario.setSelected(false);
checkVIP.setSelected(false);
checkExcluido.setSelected(false);
}
public void carregarContato(long paramID) {
try {
Contato contato = GerenciadorDeAcessoAoBanco.buscarContato(VariaveisDeSistema.BUSCA_POR_ID + paramID + ";", false, false, false, false, false, false, false, false, false, 0)[0];
// Carrega os dados do Contato para os campos.
textNomeCompleto.setText(contato.getNomeCompleto());
textlogradouro.setText(contato.getEndereco().getLogradouro());
textNumero.setText(String.valueOf(contato.getEndereco().getNumero()));
textBairro.setText(contato.getEndereco().getBairro());
textCep.setText(contato.getEndereco().getCep());
textCidade.setText(contato.getEndereco().getCidade());
textTelefone.setText(contato.getTelefone());
textTelefone2.setText(contato.getTelefone2());
textCelular.setText(contato.getCelular());
textFax.setText(contato.getFax());
textEmail.setText(contato.getEmail());
textCpf.setText(contato.getCpf());
textRg.setText(contato.getRg());
textVinculo.setText(contato.getVinculo());
textOutros.setText(contato.getOutros());
textRazaoSocial.setText(contato.getRazaoSocial());
textInscricao.setText(contato.getInscricao());
textContato.setText(contato.getContato());
textCnpj.setText(contato.getCnpj());
textUf.setText(contato.getEndereco().getUf());
textComplemento.setText(contato.getEndereco().getComplemento());
textLocalizacao.setText(contato.getEndereco().getLocalizacao());
calendarioDataDeCadastro.setDate(contato.getDataDeCadastro());
calendarioDataDeNascimento.setDate(contato.getDataDeNascimento());
textAreaObs.setText(contato.getObs());
textCtps.setText(contato.getCtps());
textCtpsSerie.setText(contato.getCtpsSerie());
textEmail.setText(contato.getEmail());
checkCliente.setSelected(contato.isTipoCliente());
checkFornecedor.setSelected(contato.isTipoFornecedor());
checkFuncionario.setSelected(contato.isTipoFuncionario());
checkVIP.setSelected(contato.isVip());
checkExcluido.setSelected(contato.isExcluido());
lblTitulo.setText(contato.getNomeCompleto());
// Tira o botão cadastar e limpar campos
botaoSalvar = null;
botaoLimpar = null;
if (contato.isTipoCliente() || contato.isTipoFornecedor()) {
xAdd(painelAbas, 0, 18, 1, 12);
if (contato.isTipoCliente()) {
guiServicos = new GuiServicos(contato.getId());
painelAbas.add(guiServicos, "Serviços");
}
if (contato.isTipoFornecedor()) {
guiContas = new GuiDesepsas(contato.getId());
painelAbas.add(guiContas, "Compras");
}
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
public void atualizarContato() {
try {
if (this.textNomeCompleto.getText().equals("")) {
JOptionPane.showMessageDialog(null, VariaveisDeSistema.ERRO_VALOR_CAMPO_INVALIDO + " [Alterar Contato (Nome Completo)]", VariaveisDeSistema.SISTEMA_NOME, JOptionPane.ERROR_MESSAGE);
} else {
// Monta o contato.
Contato novoContato = new Contato();
novoContato.setId(idCliente);
novoContato.setTipoCliente(checkCliente.isSelected());
novoContato.setTipoFornecedor(checkFornecedor.isSelected());
novoContato.setTipoFuncionario(checkFuncionario.isSelected());
novoContato.setVip(checkVIP.isSelected());
novoContato.setExcluido(checkExcluido.isSelected());
novoContato.setNomeCompleto(textNomeCompleto.getText());
novoContato.setRazaoSocial(textRazaoSocial.getText());
novoContato.setCtps(textCtps.getText());
novoContato.setCtpsSerie(textCtpsSerie.getText());
novoContato.setTelefone(textTelefone.getText());
novoContato.setTelefone2(textTelefone2.getText());
novoContato.setCelular(textCelular.getText());
novoContato.setFax(textFax.getText());
novoContato.setEmail(textEmail.getText());
novoContato.setContato(textContato.getText());
novoContato.setVinculo(textVinculo.getText());
novoContato.setOutros(textOutros.getText());
novoContato.setIndicador(String.valueOf(comboIndicador.getSelectedItem()));
novoContato.setObs(textAreaObs.getText());
// Endereço
novoContato.getEndereco().setLogradouro(textlogradouro.getText());
try {
int n = Integer.parseInt(textNumero.getText().trim().replace(",", "."));
novoContato.getEndereco().setNumero(n);
} catch (Exception e) {
Funcoes.exibirMensagem(VariaveisDeSistema.ERRO_PARAMETRO_INVALIDO + " ( Atualizar Contato [Número do endereço inválido])", VariaveisDeSistema.ICONE_ERRO_PEQUENO);
textNomeCompleto.grabFocus();
return;
}
novoContato.getEndereco().setBairro(textBairro.getText());
novoContato.getEndereco().setCidade(textCidade.getText());
novoContato.getEndereco().setUf(textUf.getText());
novoContato.getEndereco().setCep(textCep.getText());
novoContato.getEndereco().setLocalizacao(textLocalizacao.getText());
novoContato.getEndereco().setComplemento(textComplemento.getText());
// Documentos
novoContato.setCnpj(textCnpj.getText());
novoContato.setCpf(textCpf.getText());
novoContato.setRg(textRg.getText());
novoContato.setInscricao(textInscricao.getText());
// Datas
novoContato.setDataDeCadastro(calendarioDataDeCadastro.getDate());
novoContato.setDataDeNascimento(calendarioDataDeNascimento.getDate());
GerenciadorDeAcessoAoBanco.alterarContato(novoContato);
Funcoes.exibirMensagem(VariaveisDeSistema.SUCESSO_REGISTRO_ALTERADO, VariaveisDeSistema.ICONE_SUCESSO_PEQUENO);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void excluirContato() {
// Obtem o id do contato
long idContato = idCliente;
try {
if (idContato <= 0) {
throw new Exception(VariaveisDeSistema.ERRO_ID_INVALIDO);
}
// String[] opcoes = { "Excluir", "Cancelar" };
// int resposta = JOptionPane.showOptionDialog(null,
// Constantes.QUESTAO_EXCLUIR, Constantes.SISTEMA_NOME,
// JOptionPane.YES_NO_CANCEL_OPTION,
// JOptionPane.QUESTION_MESSAGE, null, opcoes, opcoes[1]);
// if (resposta == 0) {
GerenciadorDeAcessoAoBanco.excluirContato(idContato);
Funcoes.exibirMensagem(VariaveisDeSistema.SUCESSO_REGISTRO_EXCLUIDO, VariaveisDeSistema.ICONE_SUCESSO_PEQUENO);
JanelaPrincipal.painelDesktop.remove(this);
// }
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage(), VariaveisDeSistema.SISTEMA_NOME, JOptionPane.ERROR_MESSAGE);
}
}
public void alternarDetalhes() {
if (painelDetalhes.isVisible()) {
painelDetalhes.setVisible(false);
painelAbas.setVisible(true);
botaoDetalhes.setText("Exibir detalhes");
} else {
painelDetalhes.setVisible(true);
painelAbas.setVisible(false);
botaoDetalhes.setText("Esconder detalhes");
}
}
/* Metodo sobrescrito */
@Override
public void gerenciadorDeAcoes() {
// TODO Auto-generated method stub
// Cria action listener CADASTRAR
ActionListener ac = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
bloquearCamposPorTipo();
}
};
checkFornecedor.addActionListener(ac);
checkFuncionario.addActionListener(ac);
checkCliente.addActionListener(ac);
botaoEtiquetaEndereco.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
// TODO Auto-generated method stub
gerarEtiqueta();
}
});
botaoSalvar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
cadastrarcontato();
}
});
// Cria action listener LIMPAR
botaoLimpar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
limparCampos();
}
});
botaoAlterar.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
atualizarContato();
}
});
botaoExcluir.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
excluirContato();
}
});
botaoDetalhes.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
alternarDetalhes();
}
});
}
public void gerarEtiqueta() {
GeradorDeRelatorios gr = new GeradorDeRelatorios();
try {
File etiqueta = gr.gerarEtiquetaDeContato(idCliente);
Funcoes.exibirMensagem(VariaveisDeSistema.SUCESSO_ARQUIVO_EXPORTADO + " [Etiqueta (" + idCliente + ")]", VariaveisDeSistema.ICONE_SUCESSO_PEQUENO);
if (!VariaveisDeSistema.ENDERECO_LEITOR_PDF.trim().equals("")) {
Funcoes.executarProgramaExterno(VariaveisDeSistema.ENDERECO_LEITOR_PDF + " " + VariaveisDeSistema.LEITOR_PDF_PARAMETRO_IMPRESSAO + " \"" + etiqueta.getAbsolutePath() + "\"");
} else {
Funcoes.exibirMensagem(VariaveisDeSistema.ERRO_PROPRIEDADE_INVALIDA + " [Leitor de PDF (IMPOSSIVEL IMPRIMIR)]", VariaveisDeSistema.ICONE_ERRO_PEQUENO);
}
} catch (Exception e) {
if (VariaveisDeSistema.DEBUG) {
e.printStackTrace();
}
Funcoes.exibirMensagem(e.getMessage(), VariaveisDeSistema.ICONE_ERRO_PEQUENO, true);
}
}
}
Como podem ver no meu código fica junto as "açoes" e o "view", tentei separar o maximo que pude.
Isso ja pode ser considerado um MVC?
Alguem tem um exemplo de como ficaria isso em mvc?
Grato a todos =)
