ESTOU A ESTUDAR JAVA RECENTEMENTE, E ME ENCONTREI COM ESTE ERRO!!! Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException. EU já BUSQUEI EM ALGUNS FORUMS E DESCUBRI QUE há UM VALOR NULO E já LOCALIZEI A LINHA DO ERRO. MAIS O PROBLEMA É QUE NÃO SEI COMO RESOLVER ESTE ERRO DE EXECEÇÃO E PEÇO A VOSSA AJUDA GALERA.
AI VAI O ERRO E O CODIGO:
ERRO:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at view.ViewClientes.listarCidades(ViewClientes.java:423)
at view.ViewClientes.<init>(ViewClientes.java:47)
at view.ViewClientes$13.run(ViewClientes.java:689)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
public class ViewClientes extends javax.swing.JFrame {
ModelCliente modelCliente = new ModelCliente();
ControllerCliente controllerCliente = new ControllerCliente();
ControllerEstado controllerEstado = new ControllerEstado();
ControllerCidade controllerCidade = new ControllerCidade();
ControllerClienteCidadeEstado controllerClienteCidadeEstado = new ControllerClienteCidadeEstado();
ArrayList<ModelCidade> listaModelCidades = new ArrayList<>();
ArrayList<ModelEstado> listaModelEstados = new ArrayList<>();
ArrayList<ModelCliente> listaModelCliente = new ArrayList<>();
ArrayList<ModelClienteCidadeEstado> listaModelClienteCidadeEstados = new ArrayList<>();
String tipoCadastro;
/** Creates new form Clientes */
public ViewClientes() {
initComponents();
setLocationRelativeTo(null);
this.carregarClientes();
this.listarEstados();
this.listarCidades();
}
/** 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.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
tfPesquisaCliente = new javax.swing.JTextField();
btPesquisaCliente = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
tfNome = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
tfEndereco = new javax.swing.JTextField();
tfBairro = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
tfCep = new javax.swing.JTextField();
tfTelefone = new javax.swing.JTextField();
jLabel7 = new javax.swing.JLabel();
btNovo = new javax.swing.JButton();
btAlterar = new javax.swing.JButton();
btCancelar = new javax.swing.JButton();
btSalvar = new javax.swing.JButton();
jbExcluir = new javax.swing.JButton();
jScrollPane2 = new javax.swing.JScrollPane();
tbClientes = new javax.swing.JTable();
tfCodigo = new javax.swing.JTextField();
jLabel8 = new javax.swing.JLabel();
cbEstado = new javax.swing.JComboBox();
cbCidade = new javax.swing.JComboBox();
btNovaCidade = new javax.swing.JButton();
jLabel9 = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
tfCpfCnpj = new javax.swing.JTextField();
tfObservacao = new javax.swing.JTextField();
jLabel11 = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
//salvar
if (controllerCliente.salvarClienteController(modelCliente)>0) {
JOptionPane.showMessageDialog(this, "Registro gravado com sucesso!");
this.desabilitarCampos();
this.carregarClientes();
return true;
} else {
JOptionPane.showMessageDialog(this, "Erro ao gravar os dados!", "ERRO", JOptionPane.ERROR_MESSAGE);
return false;
}
}
private boolean recuperarCliente() {
//recebe a linha selecionada
int linha = this.tbClientes.getSelectedRow();
//pega o codigo do cliente na linha selecionada
int codigo = (Integer) tbClientes.getValueAt(linha, 0);
try {
//recupera os dados do banco
modelCliente = controllerCliente.getClienteController(codigo);
//seta os dados na interface
this.tfCodigo.setText(String.valueOf(modelCliente.getCodigo()));
this.tfNome.setText(modelCliente.getNome());
this.tfEndereco.setText(modelCliente.getEndereco());
this.tfBairro.setText(modelCliente.getBairro());
this.cbEstado.setSelectedItem(controllerEstado.getEstadoController(modelCliente.getCodEstado()).getUf());
this.listarCidades();
this.cbCidade.setSelectedItem(controllerCidade.getCidadeController(modelCliente.getCodCidade()).getNome());
this.tfCep.setText(modelCliente.getCep());
this.tfTelefone.setText(modelCliente.getTelefone());
this.tfCpfCnpj.setText(modelCliente.getCpfCNPJ());
this.tfObservacao.setText(modelCliente.getObservacao());
return true;
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Código inválido ou nenhum registro selecionado", "Aviso", JOptionPane.WARNING_MESSAGE);
return false;
}
}
private void carregarClientes() {
listaModelClienteCidadeEstados = controllerClienteCidadeEstado.getListaClienteCidadeEstadoController();
DefaultTableModel modelo = (DefaultTableModel) tbClientes.getModel();
modelo.setNumRows(0);
//CARREGA OS DADOS DA LISTA NA TABELA
int cont = listaModelClienteCidadeEstados.size();
for (int i = 0; i < cont; i++) {
modelo.addRow(new Object[]{
listaModelClienteCidadeEstados.get(i).getModelCliente().getCodigo(),
listaModelClienteCidadeEstados.get(i).getModelCliente().getNome(),
listaModelClienteCidadeEstados.get(i).getModelCliente().getCpfCNPJ(),
listaModelClienteCidadeEstados.get(i).getModelCliente().getObservacao(),
listaModelClienteCidadeEstados.get(i).getModelCidade().getNome(),
listaModelClienteCidadeEstados.get(i).getModelEstado().getUf()
});
}
}
private void btPesquisaClienteActionPerformed(java.awt.event.ActionEvent evt) {
//filtrar dados na tabela
DefaultTableModel tabela = (DefaultTableModel) this.tbClientes.getModel();
final TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(tabela);
this.tbClientes.setRowSorter(sorter);
String text = tfPesquisaCliente.getText();
sorter.setRowFilter(RowFilter.regexFilter(text, 1));
}
private void jbExcluirActionPerformed(java.awt.event.ActionEvent evt) {
int linha = tbClientes.getSelectedRow();
String nome = (String) tbClientes.getValueAt(linha, 1);
int codigo = (int) tbClientes.getValueAt(linha, 0);
//pegunta se realmente deseja excluir
int opcao = JOptionPane.showConfirmDialog(this, "Tem certeza que deseja"
+ " excluir o registro:\n" + "\n " + nome + "?", "Atenção", JOptionPane.YES_NO_OPTION);
//se sim exclui, se não não faz nada
if (opcao == JOptionPane.OK_OPTION) {
if (controllerCliente.excluirClienteController(codigo)) {
JOptionPane.showMessageDialog(this, "Registro excluido com suscesso!");
carregarClientes();
}else{
JOptionPane.showMessageDialog(this, "Erro ao e os dados!", "ERRO", JOptionPane.ERROR_MESSAGE);
}
}
}
private void tfNomeFocusLost(java.awt.event.FocusEvent evt) {
// converte em maiusculo o que o usuario digitar
this.tfNome.setText(tfNome.getText().toUpperCase());
//tira acentos
BLTiraAcentos blTiraAcentos = new BLTiraAcentos();
this.tfNome.setText(blTiraAcentos.TiraAcentos(tfNome.getText()));
}
private void cbEstadoPopupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) {
// TODO add your handling code here:
if (this.cbEstado.isPopupVisible()) {
listarCidades();
}
}
private void btNovaCidadeActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new ViewCidade().setVisible(true);
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
int linhaSelecionada = tbClientes.getSelectedRow();
// Verificamos se existe realmente alguma linha selecionada
if (linhaSelecionada < 0) {
JOptionPane.showMessageDialog(this, "Você deve selecionar um item na tabela antes de clicar no botão!", "ATENÇÃO", JOptionPane.WARNING_MESSAGE);
} else {
final AguardeGerandoRelatorio carregando = new AguardeGerandoRelatorio();
final ControllerCliente controllerCliente = new ControllerCliente();
carregando.setVisible(true);
Thread t = new Thread() {
@Override
public void run() {
// imprimir clientes
controllerCliente.gerarRelatorioClienteIndividual((int) tbClientes.getValueAt(tbClientes.getSelectedRow(), 0));
carregando.dispose();
}
};
t.start();
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ViewClientes().setVisible(true);
}
});
}
Pergunta
Ronaldo Divad
PESSOAL BOA NOITE,
ESTOU A ESTUDAR JAVA RECENTEMENTE, E ME ENCONTREI COM ESTE ERRO!!! Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException. EU já BUSQUEI EM ALGUNS FORUMS E DESCUBRI QUE há UM VALOR NULO E já LOCALIZEI A LINHA DO ERRO. MAIS O PROBLEMA É QUE NÃO SEI COMO RESOLVER ESTE ERRO DE EXECEÇÃO E PEÇO A VOSSA AJUDA GALERA.
AI VAI O ERRO E O CODIGO:
ERRO:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at view.ViewClientes.listarCidades(ViewClientes.java:423)
at view.ViewClientes.<init>(ViewClientes.java:47)
at view.ViewClientes$13.run(ViewClientes.java:689)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
CODIGO:
package view;
import controller.ControllerCidade;
import controller.ControllerCliente;
import controller.ControllerClienteCidadeEstado;
import controller.ControllerEstado;
import java.util.ArrayList;
import javax.swing.JOptionPane;
import javax.swing.RowFilter;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableModel;
import javax.swing.table.TableRowSorter;
import model.ModelCidade;
import model.ModelCliente;
import model.ModelClienteCidadeEstado;
import model.ModelEstado;
import util.AguardeGerandoRelatorio;
import util.BLTiraAcentos;
public class ViewClientes extends javax.swing.JFrame {
ModelCliente modelCliente = new ModelCliente();
ControllerCliente controllerCliente = new ControllerCliente();
ControllerEstado controllerEstado = new ControllerEstado();
ControllerCidade controllerCidade = new ControllerCidade();
ControllerClienteCidadeEstado controllerClienteCidadeEstado = new ControllerClienteCidadeEstado();
ArrayList<ModelCidade> listaModelCidades = new ArrayList<>();
ArrayList<ModelEstado> listaModelEstados = new ArrayList<>();
ArrayList<ModelCliente> listaModelCliente = new ArrayList<>();
ArrayList<ModelClienteCidadeEstado> listaModelClienteCidadeEstados = new ArrayList<>();
String tipoCadastro;
/** Creates new form Clientes */
public ViewClientes() {
initComponents();
setLocationRelativeTo(null);
this.carregarClientes();
this.listarEstados();
this.listarCidades();
}
/** 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.
*/
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {
tfPesquisaCliente = new javax.swing.JTextField();
btPesquisaCliente = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
tfNome = new javax.swing.JTextField();
jLabel2 = new javax.swing.JLabel();
tfEndereco = new javax.swing.JTextField();
tfBairro = new javax.swing.JTextField();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
jLabel6 = new javax.swing.JLabel();
tfCep = new javax.swing.JTextField();
tfTelefone = new javax.swing.JTextField();
jLabel7 = new javax.swing.JLabel();
btNovo = new javax.swing.JButton();
btAlterar = new javax.swing.JButton();
btCancelar = new javax.swing.JButton();
btSalvar = new javax.swing.JButton();
jbExcluir = new javax.swing.JButton();
jScrollPane2 = new javax.swing.JScrollPane();
tbClientes = new javax.swing.JTable();
tfCodigo = new javax.swing.JTextField();
jLabel8 = new javax.swing.JLabel();
cbEstado = new javax.swing.JComboBox();
cbCidade = new javax.swing.JComboBox();
btNovaCidade = new javax.swing.JButton();
jLabel9 = new javax.swing.JLabel();
jLabel10 = new javax.swing.JLabel();
tfCpfCnpj = new javax.swing.JTextField();
tfObservacao = new javax.swing.JTextField();
jLabel11 = new javax.swing.JLabel();
jButton1 = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
setTitle("Clientes");
setResizable(false);
btPesquisaCliente.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/18x18/Search.png"))); // NOI18N
btPesquisaCliente.setText("Pesquisar");
btPesquisaCliente.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btPesquisaClienteActionPerformed(evt);
}
});
jLabel1.setText("Nome:");
tfNome.setEditable(false);
tfNome.addFocusListener(new java.awt.event.FocusAdapter() {
public void focusLost(java.awt.event.FocusEvent evt) {
tfNomeFocusLost(evt);
}
});
jLabel2.setText("Endereço:");
tfEndereco.setEditable(false);
tfBairro.setEditable(false);
jLabel3.setText("Bairro:");
jLabel4.setText("Cidade:");
jLabel5.setText("UF:");
jLabel6.setText("CEP:");
tfCep.setEditable(false);
tfTelefone.setEditable(false);
jLabel7.setText("Telefone:");
btNovo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/18x18/Add.png"))); // NOI18N
btNovo.setText("Novo");
btNovo.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btNovoActionPerformed(evt);
}
});
btAlterar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/18x18/Modify.png"))); // NOI18N
btAlterar.setText("Alterar");
btAlterar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btAlterarActionPerformed(evt);
}
});
btCancelar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/18x18/No.png"))); // NOI18N
btCancelar.setText("Cancelar");
btCancelar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btCancelarActionPerformed(evt);
}
});
btSalvar.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/18x18/Save.png"))); // NOI18N
btSalvar.setText("Salvar");
btSalvar.setEnabled(false);
btSalvar.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btSalvarActionPerformed(evt);
}
});
jbExcluir.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/18x18/Delete.png"))); // NOI18N
jbExcluir.setText("Excluir");
jbExcluir.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jbExcluirActionPerformed(evt);
}
});
tbClientes.setAutoCreateRowSorter(true);
tbClientes.setModel(new javax.swing.table.DefaultTableModel(
new Object [][] {
{null, null, null, null, null, null}
},
new String [] {
"Código", "Nome", "CPF/CNPJ", "OBS", "Cidade", "Estado"
}
) {
Class[] types = new Class [] {
java.lang.Integer.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class, java.lang.String.class
};
boolean[] canEdit = new boolean [] {
false, false, false, false, false, false
};
public Class getColumnClass(int columnIndex) {
return types [columnIndex];
}
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit [columnIndex];
}
});
tbClientes.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
tbClientes.getTableHeader().setReorderingAllowed(false);
jScrollPane2.setViewportView(tbClientes);
if (tbClientes.getColumnModel().getColumnCount() > 0) {
tbClientes.getColumnModel().getColumn(0).setMinWidth(60);
tbClientes.getColumnModel().getColumn(0).setPreferredWidth(60);
tbClientes.getColumnModel().getColumn(1).setPreferredWidth(250);
tbClientes.getColumnModel().getColumn(2).setMinWidth(100);
tbClientes.getColumnModel().getColumn(2).setPreferredWidth(100);
tbClientes.getColumnModel().getColumn(3).setMinWidth(100);
tbClientes.getColumnModel().getColumn(3).setPreferredWidth(100);
tbClientes.getColumnModel().getColumn(4).setMinWidth(150);
tbClientes.getColumnModel().getColumn(4).setPreferredWidth(150);
tbClientes.getColumnModel().getColumn(5).setMinWidth(50);
tbClientes.getColumnModel().getColumn(5).setPreferredWidth(50);
}
tfCodigo.setEditable(false);
tfCodigo.setEnabled(false);
jLabel8.setText("Código:");
cbEstado.addPopupMenuListener(new javax.swing.event.PopupMenuListener() {
public void popupMenuCanceled(javax.swing.event.PopupMenuEvent evt) {
}
public void popupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) {
cbEstadoPopupMenuWillBecomeInvisible(evt);
}
public void popupMenuWillBecomeVisible(javax.swing.event.PopupMenuEvent evt) {
}
});
btNovaCidade.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/18x18/Add.png"))); // NOI18N
btNovaCidade.setText("Cidade");
btNovaCidade.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
btNovaCidadeActionPerformed(evt);
}
});
jLabel9.setText("CPF/CNPJ:");
jLabel10.setText("Observação:");
tfCpfCnpj.setEditable(false);
tfObservacao.setEditable(false);
jLabel11.setText("Pesquisar cliente na tabela:");
jButton1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/imagens/18x18/print.png"))); // NOI18N
jButton1.setText("Imprimir cliente");
jButton1.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
jButton1ActionPerformed(evt);
}
});
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(5, 5, 5)
.addComponent(btCancelar)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jbExcluir)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btAlterar)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btNovo)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(btSalvar))
.addGroup(layout.createSequentialGroup()
.addContainerGap()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel10)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
.addComponent(tfObservacao, javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(tfCodigo, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel8))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addComponent(tfNome, javax.swing.GroupLayout.PREFERRED_SIZE, 422, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel9)
.addComponent(tfCpfCnpj, javax.swing.GroupLayout.PREFERRED_SIZE, 184, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel2)
.addComponent(tfEndereco, javax.swing.GroupLayout.PREFERRED_SIZE, 286, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel3)
.addComponent(tfBairro, javax.swing.GroupLayout.PREFERRED_SIZE, 195, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(tfCep, javax.swing.GroupLayout.PREFERRED_SIZE, 95, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel6))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel7)
.addComponent(tfTelefone, javax.swing.GroupLayout.PREFERRED_SIZE, 116, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
.addComponent(jLabel11)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tfPesquisaCliente)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btPesquisaCliente, javax.swing.GroupLayout.PREFERRED_SIZE, 141, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel5)
.addComponent(cbEstado, javax.swing.GroupLayout.PREFERRED_SIZE, 88, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel4)
.addGroup(layout.createSequentialGroup()
.addComponent(cbCidade, 0, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(btNovaCidade, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 180, javax.swing.GroupLayout.PREFERRED_SIZE)))))
.addGap(0, 0, Short.MAX_VALUE)))
.addContainerGap())
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addGap(4, 4, 4)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel2)
.addGap(6, 6, 6)
.addComponent(tfEndereco, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel3)
.addGap(26, 26, 26))
.addComponent(tfBairro, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
.addGroup(layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(jLabel1)
.addComponent(jLabel8))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tfNome, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(tfCodigo, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel9)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tfCpfCnpj, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
.addGap(11, 11, 11)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(jLabel7)
.addGap(6, 6, 6)
.addComponent(tfTelefone, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(jLabel6)
.addGap(6, 6, 6)
.addComponent(tfCep, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addComponent(jLabel10)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(tfObservacao, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(layout.createSequentialGroup()
.addComponent(jLabel4)
.addGap(5, 5, 5)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(cbEstado, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(cbCidade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btNovaCidade)
.addComponent(jButton1)))
.addGroup(layout.createSequentialGroup()
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 1, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(jLabel5)))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(tfPesquisaCliente, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
.addComponent(btPesquisaCliente)
.addComponent(jLabel11))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 11, Short.MAX_VALUE)
.addComponent(jScrollPane2, javax.swing.GroupLayout.PREFERRED_SIZE, 247, javax.swing.GroupLayout.PREFERRED_SIZE)
.addGap(18, 18, 18)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
.addComponent(btAlterar)
.addComponent(btCancelar)
.addComponent(btNovo)
.addComponent(btSalvar)
.addComponent(jbExcluir))
.addContainerGap())
);
pack();
}// </editor-fold>
private void btCancelarActionPerformed(java.awt.event.ActionEvent evt) {
this.desabilitarCampos();
}
/**
* Preencher combobox estados
*/
private void listarEstados(){
listaModelEstados = controllerEstado.getListaEstadoController();
cbEstado.removeAllItems();
for (int i = 0; i < listaModelEstados.size(); i++){
cbEstado.addItem(listaModelEstados.get(i).getUf());
}
}
/**
* Preencher combobox cidades
*/
private void listarCidades(){
listaModelCidades = controllerCidade.getListaCidadePorEstadoController(controllerEstado.getEstadoUFController(this.cbEstado.getSelectedItem().toString()).getCodigo());
cbCidade.removeAllItems();
for (int i = 0; i < listaModelCidades.size(); i++){
cbCidade.addItem(listaModelCidades.get(i).getNome());
}
}
protected void alterarCliente(){
if (verificarCampos()){
desabilitarCampos();
} else{
JOptionPane.showMessageDialog(this, "Informe o nome do cliente!");
tfNome.requestFocus();
}
}
private void btAlterarActionPerformed(java.awt.event.ActionEvent evt) {
novoCliente();
habilitarCampos();
recuperarCliente();
tipoCadastro = "alteracao";
}
private void btSalvarActionPerformed(java.awt.event.ActionEvent evt) {
if (tipoCadastro.equals("novo")){
salvarCliente();
} else if(tipoCadastro.equals("alteracao")){
alteraCliente();
}
}
private boolean alteraCliente() {
modelCliente.setCodigo(Integer.parseInt(this.tfCodigo.getText()));
modelCliente.setNome(this.tfNome.getText());
modelCliente.setEndereco(this.tfEndereco.getText());
modelCliente.setBairro(this.tfBairro.getText());
modelCliente.setCodCidade(controllerCidade.getCidadeController(this.cbCidade.getSelectedItem().toString()).getCodigo());
modelCliente.setCodEstado(controllerEstado.getEstadoUFController(this.cbEstado.getSelectedItem().toString()).getCodigo());
modelCliente.setCep(this.tfCep.getText());
modelCliente.setTelefone(this.tfTelefone.getText());
modelCliente.setCpfCNPJ(this.tfCpfCnpj.getText());
modelCliente.setObservacao(this.tfObservacao.getText());
//alterar
if (controllerCliente.atualizarClienteController(modelCliente)) {
JOptionPane.showMessageDialog(this, "Registro alterado com sucesso!");
this.desabilitarCampos();
this.carregarClientes();
return true;
} else {
JOptionPane.showMessageDialog(this, "Erro ao alterar os dados!", "ERRO", JOptionPane.ERROR_MESSAGE);
return false;
}
}
private boolean salvarCliente() {
modelCliente.setNome(this.tfNome.getText());
modelCliente.setEndereco(this.tfEndereco.getText());
modelCliente.setBairro(this.tfBairro.getText());
modelCliente.setCodCidade(controllerCidade.getCidadeController(this.cbCidade.getSelectedItem().toString()).getCodigo());
modelCliente.setCodEstado(controllerEstado.getEstadoUFController(this.cbEstado.getSelectedItem().toString()).getCodigo());
modelCliente.setCep(this.tfCep.getText());
modelCliente.setTelefone(this.tfTelefone.getText());
modelCliente.setCpfCNPJ(this.tfCpfCnpj.getText());
modelCliente.setObservacao(this.tfObservacao.getText());
//salvar
if (controllerCliente.salvarClienteController(modelCliente)>0) {
JOptionPane.showMessageDialog(this, "Registro gravado com sucesso!");
this.desabilitarCampos();
this.carregarClientes();
return true;
} else {
JOptionPane.showMessageDialog(this, "Erro ao gravar os dados!", "ERRO", JOptionPane.ERROR_MESSAGE);
return false;
}
}
private boolean recuperarCliente() {
//recebe a linha selecionada
int linha = this.tbClientes.getSelectedRow();
//pega o codigo do cliente na linha selecionada
int codigo = (Integer) tbClientes.getValueAt(linha, 0);
try {
//recupera os dados do banco
modelCliente = controllerCliente.getClienteController(codigo);
//seta os dados na interface
this.tfCodigo.setText(String.valueOf(modelCliente.getCodigo()));
this.tfNome.setText(modelCliente.getNome());
this.tfEndereco.setText(modelCliente.getEndereco());
this.tfBairro.setText(modelCliente.getBairro());
this.cbEstado.setSelectedItem(controllerEstado.getEstadoController(modelCliente.getCodEstado()).getUf());
this.listarCidades();
this.cbCidade.setSelectedItem(controllerCidade.getCidadeController(modelCliente.getCodCidade()).getNome());
this.tfCep.setText(modelCliente.getCep());
this.tfTelefone.setText(modelCliente.getTelefone());
this.tfCpfCnpj.setText(modelCliente.getCpfCNPJ());
this.tfObservacao.setText(modelCliente.getObservacao());
return true;
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "Código inválido ou nenhum registro selecionado", "Aviso", JOptionPane.WARNING_MESSAGE);
return false;
}
}
private void carregarClientes() {
listaModelClienteCidadeEstados = controllerClienteCidadeEstado.getListaClienteCidadeEstadoController();
DefaultTableModel modelo = (DefaultTableModel) tbClientes.getModel();
modelo.setNumRows(0);
//CARREGA OS DADOS DA LISTA NA TABELA
int cont = listaModelClienteCidadeEstados.size();
for (int i = 0; i < cont; i++) {
modelo.addRow(new Object[]{
listaModelClienteCidadeEstados.get(i).getModelCliente().getCodigo(),
listaModelClienteCidadeEstados.get(i).getModelCliente().getNome(),
listaModelClienteCidadeEstados.get(i).getModelCliente().getCpfCNPJ(),
listaModelClienteCidadeEstados.get(i).getModelCliente().getObservacao(),
listaModelClienteCidadeEstados.get(i).getModelCidade().getNome(),
listaModelClienteCidadeEstados.get(i).getModelEstado().getUf()
});
}
}
private void novoCliente(){
habilitarCampos();
tfCodigo.setText("Novo");
tfNome.setText("");
tfEndereco.setText("");
tfBairro.setText("");
cbEstado.setSelectedIndex(0);
tfCep.setText("");
tfTelefone.setText("");
tfCpfCnpj.setText("");
tfObservacao.setText("");
tipoCadastro = "novo";
}
protected boolean verificarCampos(){
if (!tfNome.getText().trim().equals("")){
return true;
}
return false;
}
private void habilitarCampos(){
tfNome.setEditable(true);
tfEndereco.setEditable(true);
tfBairro.setEditable(true);
cbCidade.setEnabled(true);
tfCep.setEditable(true);
cbEstado.setEnabled(true);
tfTelefone.setEditable(true);
tfObservacao.setEditable(true);
tfCpfCnpj.setEditable(true);
btSalvar.setEnabled(true);
}
protected void desabilitarCampos(){
tfNome.setEditable(false);
tfEndereco.setEditable(false);
tfBairro.setEditable(false);
cbCidade.setEnabled(false);
tfCep.setEditable(false);
cbEstado.setEnabled(false);
tfTelefone.setEditable(false);
tfCpfCnpj.setEditable(false);
tfObservacao.setEditable(false);
btSalvar.setEnabled(false);
tfCodigo.setText("");
tfNome.setText("");
tfEndereco.setText("");
cbCidade.setSelectedIndex(0);
tfBairro.setText("");
cbEstado.setSelectedIndex(0);
tfCep.setText("");
tfTelefone.setText("");
tfCpfCnpj.setText("");
tfObservacao.setText("");
}
private void btNovoActionPerformed(java.awt.event.ActionEvent evt) {
this.listarEstados();
this.listarCidades();
this.novoCliente();
this.habilitarCampos();
}
private void btPesquisaClienteActionPerformed(java.awt.event.ActionEvent evt) {
//filtrar dados na tabela
DefaultTableModel tabela = (DefaultTableModel) this.tbClientes.getModel();
final TableRowSorter<TableModel> sorter = new TableRowSorter<TableModel>(tabela);
this.tbClientes.setRowSorter(sorter);
String text = tfPesquisaCliente.getText();
sorter.setRowFilter(RowFilter.regexFilter(text, 1));
}
private void jbExcluirActionPerformed(java.awt.event.ActionEvent evt) {
int linha = tbClientes.getSelectedRow();
String nome = (String) tbClientes.getValueAt(linha, 1);
int codigo = (int) tbClientes.getValueAt(linha, 0);
//pegunta se realmente deseja excluir
int opcao = JOptionPane.showConfirmDialog(this, "Tem certeza que deseja"
+ " excluir o registro:\n" + "\n " + nome + "?", "Atenção", JOptionPane.YES_NO_OPTION);
//se sim exclui, se não não faz nada
if (opcao == JOptionPane.OK_OPTION) {
if (controllerCliente.excluirClienteController(codigo)) {
JOptionPane.showMessageDialog(this, "Registro excluido com suscesso!");
carregarClientes();
}else{
JOptionPane.showMessageDialog(this, "Erro ao e os dados!", "ERRO", JOptionPane.ERROR_MESSAGE);
}
}
}
private void tfNomeFocusLost(java.awt.event.FocusEvent evt) {
// converte em maiusculo o que o usuario digitar
this.tfNome.setText(tfNome.getText().toUpperCase());
//tira acentos
BLTiraAcentos blTiraAcentos = new BLTiraAcentos();
this.tfNome.setText(blTiraAcentos.TiraAcentos(tfNome.getText()));
}
private void cbEstadoPopupMenuWillBecomeInvisible(javax.swing.event.PopupMenuEvent evt) {
// TODO add your handling code here:
if (this.cbEstado.isPopupVisible()) {
listarCidades();
}
}
private void btNovaCidadeActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
new ViewCidade().setVisible(true);
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
int linhaSelecionada = tbClientes.getSelectedRow();
// Verificamos se existe realmente alguma linha selecionada
if (linhaSelecionada < 0) {
JOptionPane.showMessageDialog(this, "Você deve selecionar um item na tabela antes de clicar no botão!", "ATENÇÃO", JOptionPane.WARNING_MESSAGE);
} else {
final AguardeGerandoRelatorio carregando = new AguardeGerandoRelatorio();
final ControllerCliente controllerCliente = new ControllerCliente();
carregando.setVisible(true);
Thread t = new Thread() {
@Override
public void run() {
// imprimir clientes
controllerCliente.gerarRelatorioClienteIndividual((int) tbClientes.getValueAt(tbClientes.getSelectedRow(), 0));
carregando.dispose();
}
};
t.start();
}
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ViewClientes().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton btAlterar;
private javax.swing.JButton btCancelar;
private javax.swing.JButton btNovaCidade;
private javax.swing.JButton btNovo;
private javax.swing.JButton btPesquisaCliente;
private javax.swing.JButton btSalvar;
private javax.swing.JComboBox cbCidade;
private javax.swing.JComboBox cbEstado;
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel10;
private javax.swing.JLabel jLabel11;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel jLabel7;
private javax.swing.JLabel jLabel8;
private javax.swing.JLabel jLabel9;
private javax.swing.JScrollPane jScrollPane2;
private javax.swing.JButton jbExcluir;
private javax.swing.JTable tbClientes;
protected javax.swing.JTextField tfBairro;
protected javax.swing.JTextField tfCep;
private javax.swing.JTextField tfCodigo;
private javax.swing.JTextField tfCpfCnpj;
protected javax.swing.JTextField tfEndereco;
protected javax.swing.JTextField tfNome;
private javax.swing.JTextField tfObservacao;
protected javax.swing.JTextField tfPesquisaCliente;
protected javax.swing.JTextField tfTelefone;
// End of variables declaration
me ajudem galera
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.