Tela Pesquisar Cidade
package visao;
import controle.ControleCidade;
import java.util.ArrayList;
import javax.swing.table.DefaultTableModel;
import modelo.ModeloCidade;
public class TelaPesquisarCidade extends javax.swing.JFrame {
ArrayList<ModeloCidade> listaCidades = new ArrayList<>();
ArrayList<ModeloCidade> listaCidadesPesquisa = new ArrayList<>();
ControleCidade controleCidade = new ControleCidade();
public TelaPesquisarCidade() {
    initComponents();
    preencherTabela();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {
    jScrollPane1 = new javax.swing.JScrollPane();
    jTableCidadePesquisa = new javax.swing.JTable();
    jButtonSelecionar = new javax.swing.JButton();
    setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    jTableCidadePesquisa.setModel(new javax.swing.table.DefaultTableModel(
        new Object [][] {
        },
        new String [] {
            "Código", "Nome", "Estado"
        }
    ) {
        boolean[] canEdit = new boolean [] {
            false, true, true
        };
        public boolean isCellEditable(int rowIndex, int columnIndex) {
            return canEdit [columnIndex];
        }
    });
    jScrollPane1.setViewportView(jTableCidadePesquisa);
    jButtonSelecionar.setText("Selecionar");
    jButtonSelecionar.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonSelecionarActionPerformed(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()
            .addContainerGap()
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 394, Short.MAX_VALUE)
                .addGroup(layout.createSequentialGroup()
                    .addComponent(jButtonSelecionar)
                    .addGap(0, 0, Short.MAX_VALUE))))
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 275, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
            .addComponent(jButtonSelecionar)
            .addGap(0, 14, Short.MAX_VALUE))
    );
    pack();
}// </editor-fold>                        
private void jButtonSelecionarActionPerformed(java.awt.event.ActionEvent evt) {                                                  
    pesquisarCidade();
}                                                 
/**
 * @param args the command line arguments
 */
public static void main(String args[]) {
    /* Set the Nimbus look and feel */
    //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
    /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
     * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
     */
    try {
        for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
            if ("Nimbus".equals(info.getName())) {
                javax.swing.UIManager.setLookAndFeel(info.getClassName());
                break;
            }
        }
    } catch (ClassNotFoundException ex) {
        java.util.logging.Logger.getLogger(TelaPesquisarCidade.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
        java.util.logging.Logger.getLogger(TelaPesquisarCidade.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
        java.util.logging.Logger.getLogger(TelaPesquisarCidade.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
        java.util.logging.Logger.getLogger(TelaPesquisarCidade.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
    //</editor-fold>
    /* Create and display the form */
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new TelaPesquisarCidade().setVisible(true);
        }
    });
}
public void preencherTabela() {
    listaCidades = controleCidade.retornarListaCidades();
    DefaultTableModel model = (DefaultTableModel) jTableCidadePesquisa.getModel();
    model.setNumRows(0);
    int cont = listaCidades.size();
    for (int i = 0; i < cont; i++) {
        model.addRow(new Object[]{
            listaCidades.get(i).getIdCidade(),
            listaCidades.get(i).getNome(),
            listaCidades.get(i).getEstado(),});
            jTableCidadePesquisa.changeSelection(0, 3, false, false);
    }
}
public void pesquisarCidade () {
    
    TelaCadastroEndereco telaCadastroEndereco = new TelaCadastroEndereco();
    
    int linha = this.jTableCidadePesquisa.getSelectedRow();
    int codigo = (int) this.jTableCidadePesquisa.getValueAt(linha, 0);
    listaCidadesPesquisa = controleCidade.retornaUC(codigo);
    
    for (ModeloCidade cidade : listaCidadesPesquisa) {
        telaCadastroEndereco.jComboBoxCidade.setSelectedItem(cidade.getNome().concat(" - ")
        .concat(cidade.getEstado()));
    }
    
    dispose();
}
// Variables declaration - do not modify                     
private javax.swing.JButton jButtonSelecionar;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTable jTableCidadePesquisa;
// End of variables declaration                   
}
Tela Cadastro Endereço
package visao;
import controle.ControleCidade;
import controle.ControleEndereco;
import controle.UpperCaseDocument;
import java.util.ArrayList;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JOptionPane;
import modelo.ModeloCidade;
import modelo.ModeloEndereco;
public class TelaCadastroEndereco extends javax.swing.JFrame {
ModeloEndereco modeloEndereco = new ModeloEndereco();
ArrayList<ModeloCidade> listaCidade = new ArrayList<>();
ControleEndereco controleEndereco = new ControleEndereco();
ControleCidade controleCidade = new ControleCidade();
public static String global;
public static String pesq;
public TelaCadastroEndereco() {
    initComponents();
    this.setLocationRelativeTo(null);
    upperCase();
    atualizaComboCidade();
}
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">                          
private void initComponents() {
    jLabelCodigo = new javax.swing.JLabel();
    jTextFieldIdEndereco = new javax.swing.JTextField();
    jTextFieldRua = new javax.swing.JTextField();
    jLabelRua = new javax.swing.JLabel();
    jTextFieldNumero = new javax.swing.JTextField();
    jLabelNumero = new javax.swing.JLabel();
    jTextFieldBairro = new javax.swing.JTextField();
    jLabelBairro = new javax.swing.JLabel();
    jLabelCep = new javax.swing.JLabel();
    jTextFieldComplemento = new javax.swing.JTextField();
    jLabelComplemento = new javax.swing.JLabel();
    jLabelBairro1 = new javax.swing.JLabel();
    jButtonSalvar = new javax.swing.JButton();
    jButtonCancelar = new javax.swing.JButton();
    jFormattedTextFieldCep = new javax.swing.JFormattedTextField();
    jButtonProcurar = new javax.swing.JButton();
    jComboBoxCidade = new javax.swing.JComboBox();
    setDefaultCloseOperation(javax.swing.WindowConstants.DO_NOTHING_ON_CLOSE);
    jLabelCodigo.setText("Código:");
    jTextFieldIdEndereco.setEditable(false);
    jLabelRua.setText("Rua:");
    jLabelNumero.setText("Número:");
    jLabelBairro.setText("Bairro:");
    jLabelCep.setText("CEP:");
    jLabelComplemento.setText("Complemento:");
    jLabelBairro1.setText("Cidade:");
    jButtonSalvar.setText("Salvar");
    jButtonSalvar.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonSalvarActionPerformed(evt);
        }
    });
    jButtonCancelar.setText("Cancelar");
    jButtonCancelar.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonCancelarActionPerformed(evt);
        }
    });
    try {
        jFormattedTextFieldCep.setFormatterFactory(new javax.swing.text.DefaultFormatterFactory(new javax.swing.text.MaskFormatter("#####-###")));
    } catch (java.text.ParseException ex) {
        ex.printStackTrace();
    }
    jButtonProcurar.setText("P");
    jButtonProcurar.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jButtonProcurarActionPerformed(evt);
        }
    });
    jComboBoxCidade.addMouseListener(new java.awt.event.MouseAdapter() {
        public void mouseReleased(java.awt.event.MouseEvent evt) {
            jComboBoxCidadeMouseReleased(evt);
        }
    });
    jComboBoxCidade.addActionListener(new java.awt.event.ActionListener() {
        public void actionPerformed(java.awt.event.ActionEvent evt) {
            jComboBoxCidadeActionPerformed(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()
            .addContainerGap()
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(jButtonSalvar, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                            .addComponent(jButtonCancelar, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addComponent(jLabelBairro1)
                        .addGroup(layout.createSequentialGroup()
                            .addComponent(jComboBoxCidade, javax.swing.GroupLayout.PREFERRED_SIZE, 340, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                            .addComponent(jButtonProcurar, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGap(0, 0, Short.MAX_VALUE))
                .addGroup(layout.createSequentialGroup()
                    .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                        .addComponent(jTextFieldRua)
                        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jLabelRua, javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jLabelNumero)
                                    .addComponent(jTextFieldNumero, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGap(125, 125, 125)
                                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(jLabelComplemento)
                                    .addComponent(jTextFieldComplemento, javax.swing.GroupLayout.PREFERRED_SIZE, 154, javax.swing.GroupLayout.PREFERRED_SIZE))))
                        .addGroup(layout.createSequentialGroup()
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(jLabelBairro)
                                .addComponent(jTextFieldBairro, javax.swing.GroupLayout.PREFERRED_SIZE, 182, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addGap(18, 18, 18)
                            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addGroup(layout.createSequentialGroup()
                                    .addComponent(jLabelCep)
                                    .addGap(102, 102, 102))
                                .addComponent(jFormattedTextFieldCep)))
                        .addComponent(jLabelCodigo)
                        .addComponent(jTextFieldIdEndereco, javax.swing.GroupLayout.PREFERRED_SIZE, 75, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addContainerGap(51, Short.MAX_VALUE))))
    );
    layout.setVerticalGroup(
        layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
        .addGroup(layout.createSequentialGroup()
            .addGap(16, 16, 16)
            .addComponent(jLabelCodigo)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
            .addComponent(jTextFieldIdEndereco, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
            .addGap(18, 18, 18)
            .addComponent(jLabelRua)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
            .addComponent(jTextFieldRua, 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(jLabelNumero)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(jTextFieldNumero, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGroup(layout.createSequentialGroup()
                    .addComponent(jLabelComplemento)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(jTextFieldComplemento, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
            .addGap(18, 18, 18)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jLabelCep)
                .addComponent(jLabelBairro))
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jTextFieldBairro, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(jFormattedTextFieldCep, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addGap(18, 18, 18)
            .addComponent(jLabelBairro1)
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jButtonProcurar, javax.swing.GroupLayout.PREFERRED_SIZE, 22, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(jComboBoxCidade, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 23, Short.MAX_VALUE)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(jButtonCancelar)
                .addComponent(jButtonSalvar))
            .addGap(26, 26, 26))
    );
    pack();
}// </editor-fold>                        
private void jButtonSalvarActionPerformed(java.awt.event.ActionEvent evt) {                                              
    TabelaEndereco tb = new TabelaEndereco();
    if (tb.global.equals("salvar")) {
        this.salvarEndereco();
        tabela.executarMetodoFrame();
    } else if (tb.global.equals("alterar")) {
        this.salvaAlteraEndereco();
        tabela.executarMetodoFrame();
    }
}                                             
private void jButtonCancelarActionPerformed(java.awt.event.ActionEvent evt) {                                                
    limparCampos();
    dispose();
}                                               
private void jButtonProcurarActionPerformed(java.awt.event.ActionEvent evt) {                                                
    TelaPesquisarCidade telaPesquisarCidade = new TelaPesquisarCidade();
    telaPesquisarCidade.setVisible(true);    
}                                               
private void jComboBoxCidadeMouseReleased(java.awt.event.MouseEvent evt) {                                              
}                                             
private void jComboBoxCidadeActionPerformed(java.awt.event.ActionEvent evt) {                                                
}                                               
/**
 * @param args the command line arguments
 */
public static void main(String args[]) {
    /* Set the Nimbus look and feel */
    //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
    /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
     * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html 
     */
    try {
        for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
            if ("Nimbus".equals(info.getName())) {
                javax.swing.UIManager.setLookAndFeel(info.getClassName());
                break;
            }
        }
    } catch (ClassNotFoundException ex) {
        java.util.logging.Logger.getLogger(TelaCadastroEndereco.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (InstantiationException ex) {
        java.util.logging.Logger.getLogger(TelaCadastroEndereco.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (IllegalAccessException ex) {
        java.util.logging.Logger.getLogger(TelaCadastroEndereco.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    } catch (javax.swing.UnsupportedLookAndFeelException ex) {
        java.util.logging.Logger.getLogger(TelaCadastroEndereco.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
    }
    //</editor-fold>
    /* Create and display the form */
    java.awt.EventQueue.invokeLater(new Runnable() {
        public void run() {
            new TelaCadastroEndereco().setVisible(true);
        }
    });
}
public void salvarEndereco() {
    TabelaEndereco tabelaEndereco = new TabelaEndereco();
    try {
        modeloEndereco.setRua(this.jTextFieldRua.getText());
        modeloEndereco.setNumero(Integer.parseInt(this.jTextFieldNumero.getText()));
        modeloEndereco.setCep(this.jFormattedTextFieldCep.getText());
        modeloEndereco.setComplemento(this.jTextFieldComplemento.getText());
        modeloEndereco.setBairro(this.jTextFieldBairro.getText());
        modeloEndereco.setCidade(listaCidade.get(jComboBoxCidade.getSelectedIndex()));
    } catch (NumberFormatException nfe) {
        JOptionPane.showMessageDialog(this, "Informe apenas números.");
        jTextFieldNumero.requestFocus();
    }
    if (this.jTextFieldRua.getText().equals("")) {
        JOptionPane.showMessageDialog(this, "Informe o nome da rua.");
        jTextFieldRua.requestFocus();
    } else if (this.jTextFieldNumero.getText().equals("")) {
        JOptionPane.showMessageDialog(this, "Informe o número da rua.");
        jTextFieldNumero.requestFocus();
    } else if (this.jFormattedTextFieldCep.getText().equals("     -   ")) {
        JOptionPane.showMessageDialog(this, "Informe o CEP.");
        jFormattedTextFieldCep.requestFocus();
    } else if (jTextFieldComplemento.getText().equals("")) {
        JOptionPane.showMessageDialog(this, "Informe o complemento.");
        jTextFieldComplemento.requestFocus();
    } else if (jTextFieldBairro.getText().equals("")) {
        JOptionPane.showMessageDialog(this, "Informe o bairro.");
        jTextFieldBairro.requestFocus();
    } else if (jComboBoxCidade.getSelectedItem().toString().equals("")) {
        JOptionPane.showMessageDialog(this, "Informe o nome da cidade.");
        jComboBoxCidade.requestFocus();
    } else if (controleEndereco.salvarEndereco(modeloEndereco) > 0) {
        JOptionPane.showMessageDialog(this, "Cadastrado com sucesso.");
        limparCampos();
        tabelaEndereco.preencherTabela();
    }
}
public void salvaAlteraEndereco() {
    try {
        modeloEndereco.setIdEndereco(Integer.parseInt(this.jTextFieldIdEndereco.getText()));
        modeloEndereco.setRua(this.jTextFieldRua.getText());
        modeloEndereco.setNumero(Integer.parseInt(this.jTextFieldNumero.getText()));
        modeloEndereco.setCep(this.jFormattedTextFieldCep.getText());
        modeloEndereco.setComplemento(this.jTextFieldComplemento.getText());
        modeloEndereco.setBairro(this.jTextFieldBairro.getText());
        modeloEndereco.setCidade(listaCidade.get(jComboBoxCidade.getSelectedIndex()));
    } catch (NumberFormatException nfe) {
        JOptionPane.showMessageDialog(this, "Informe apenas números.");
        jTextFieldNumero.requestFocus();
    }
    if (this.jTextFieldRua.getText().equals("")) {
        JOptionPane.showMessageDialog(this, "Informe o nome da rua.");
        jTextFieldRua.requestFocus();
    } else if (this.jTextFieldNumero.getText().equals("")) {
        JOptionPane.showMessageDialog(this, "Informe o número da rua.");
        jTextFieldNumero.requestFocus();
    } else if (this.jFormattedTextFieldCep.getText().equals("")) {
        JOptionPane.showMessageDialog(this, "Informe o CEP.");
        jFormattedTextFieldCep.requestFocus();
    } else if (jTextFieldComplemento.getText().equals("-")) {
        JOptionPane.showMessageDialog(this, "Informe o complemento.");
        jTextFieldComplemento.requestFocus();
    } else if (jTextFieldBairro.getText().equals("")) {
        JOptionPane.showMessageDialog(this, "Informe o bairro.");
        jTextFieldBairro.requestFocus();
    } else if (jComboBoxCidade.getSelectedItem().toString().equals("")) {
        JOptionPane.showMessageDialog(this, "Informe o nome da cidade.");
        jComboBoxCidade.requestFocus();
    } else if (controleEndereco.alterarEndereco(modeloEndereco)) {
        JOptionPane.showMessageDialog(this, "Endereço alterado com sucesso.");
        limparCampos();
        dispose();
    }
}
public TabelaEndereco tabela;
public void MostrarTela(TabelaEndereco table) {
    this.tabela = table;
    setVisible(true);
}
public void executaMetodoAtualizar() {
    tabela.executarMetodoFrame();
}
public void upperCase() {
    jTextFieldRua.setDocument(new UpperCaseDocument());
    jTextFieldComplemento.setDocument(new UpperCaseDocument());
    jTextFieldBairro.setDocument(new UpperCaseDocument());
}
public void limparCampos() {
    jTextFieldRua.setText("");
    jTextFieldNumero.setText("");
    jTextFieldComplemento.setText("");
    jTextFieldBairro.setText("");
    jFormattedTextFieldCep.setText("");
    jComboBoxCidade.setSelectedItem("");
}
/*public void preencherComboBoxCidade() {
    listaCidade = controleCidade.retornarListaCidades();
    
    for (int i = 0; i < listaCidade.size(); i++) {
        jComboBoxCidade.addItem(listaCidade.get(i).getNome().concat(" - ").concat(listaCidade.get(i).getEstado()));
    }
}*/
public class ComboBoxModelCidade extends DefaultComboBoxModel<String> {
    ArrayList<ModeloCidade> listaCidade = new ArrayList<>();
    ArrayList<ModeloCidade> listaCidadesPesq = new ArrayList<>();
    
    ComboBoxModelCidade(ArrayList<ModeloCidade> cidades) {
        this.listaCidade = cidades;
    }
    @Override
    public int getSize() {
        return listaCidade.size();
    }
    @Override
    public String getElementAt(int index) {
        ModeloCidade cidade = listaCidade.get(index);
        return cidade.getNome().concat(" - ").concat(cidade.getEstado());
    }
}
public void atualizaComboCidade() {
    listaCidade = controleCidade.retornarListaCidades();
    jComboBoxCidade.setModel(new ComboBoxModelCidade(listaCidade));
    jComboBoxCidade.setSelectedIndex(0);
    
}
  
// Variables declaration - do not modify                     
private javax.swing.JButton jButtonCancelar;
private javax.swing.JButton jButtonProcurar;
private javax.swing.JButton jButtonSalvar;
public javax.swing.JComboBox jComboBoxCidade;
public javax.swing.JFormattedTextField jFormattedTextFieldCep;
private javax.swing.JLabel jLabelBairro;
private javax.swing.JLabel jLabelBairro1;
private javax.swing.JLabel jLabelCep;
private javax.swing.JLabel jLabelCodigo;
private javax.swing.JLabel jLabelComplemento;
private javax.swing.JLabel jLabelNumero;
private javax.swing.JLabel jLabelRua;
public javax.swing.JTextField jTextFieldBairro;
public javax.swing.JTextField jTextFieldComplemento;
public javax.swing.JTextField jTextFieldIdEndereco;
public javax.swing.JTextField jTextFieldNumero;
public javax.swing.JTextField jTextFieldRua;
// End of variables declaration                   
}