JTextField Não Atualiza

3 respostas
E

Bom pessoal, estou desensevolvendo um sistema para imóbiliaria, e me deparei com o seguinte problema, estou fazendo uma rotina de pesquisar o registro na tela do cadastro quando a pessoa clica no botão e conforme o Código que ela informou traz o registro na tela, dai quando eu faço a pesquisa e mando setar o nome do país na tela ele simplesmente não aparece, dei um println nele e o nome do país veio normalmente tentei passar como parametro o JTextField e depois passar novamente aonde to setando os valores e deu certo, so que do jeito normal não está dando será que alguem poderia me ajudar, no que está acontecendo, segue o codigo abaixo:

//Interface MPais

private void jButtonCadastroPaisPesquisarPKActionPerformed(java.awt.event.ActionEvent evt) {                                                               
        
        if(verificaClique == 1) {
            
            jTextFieldCadastroPaisCdPais.enable(true);
            jTextFieldCadastroPaisCdPais.requestFocus();
            jButtonCadastroPaisCadastrar.setVisible(true);
            jPanelCadastroPais.repaint();
            
            jTextFieldCadastroPaisCdPais.setText("");
            jTextFieldCadastroPaisNoPais.setText("");
            verificaClique++;
            
        } else if (verificaClique == 2) {
            
            if(jTextFieldCadastroPaisCdPais.getText().equalsIgnoreCase("")) {
                
                JOptionPane.showMessageDialog(null, "O campo (Código) não foi preenchido", "Cadastro - País", 1);
                verificaClique = 2;
                
            } else {
                
                boolean pesquisaPK = false;
                
                jTextFieldCadastroPaisCdPais.enable(false);
                jTextFieldCadastroPaisNoPais.requestFocus();
                jPanelCadastroPais.repaint();
                
                MPaisCRUD mPaisCRUD = new MPaisCRUD();
                pesquisaPK = mPaisCRUD.paisPesquisaPK(pesquisaPK, jTextFieldCadastroPaisCdPais);
                
                if (pesquisaPK == false) {
                    jTextFieldCadastroPaisCdPais.enable(true);
                    jTextFieldCadastroPaisCdPais.requestFocus();
                    jTextFieldCadastroPaisCdPais.setText("");
                    jPanelCadastroPais.repaint();
                    verificaClique = 2;
                    JOptionPane.showMessageDialog(null, "Não foi encontrado nenhum registro com o (Código = " + jTextFieldCadastroPaisCdPais.getText() + ")", "Cadastro - País", 1);
                } else if (pesquisaPK == true) {
                    jButtonCadastroPaisCadastrar.setVisible(false);
                    verificaClique = 1;
                }
                
            }
        }
    }

//Lógica de Negócio Ação CRUD

public boolean paisPesquisaPK(boolean pesquisaPK, JTextField jTextFieldCadastroPaisCdPais) {

        ConexaoImobiliaria ci = new ConexaoImobiliaria();
        ci.criaConexao();

        String comando = "SELECT CDPAIS, NOPAIS FROM PAIS WHERE CDPAIS = " + jTextFieldCadastroPaisCdPais.getText();

        PreparedStatement preparedStatement;
        ResultSet resultSet;

        try {

            preparedStatement = (PreparedStatement) ci.getConnection().prepareStatement(comando);
            resultSet = preparedStatement.executeQuery();

            while (resultSet.next()) {

                Pais pais = new Pais();
                pais.setCdPais(resultSet.getInt("CDPAIS"));
                pais.setNoPais(resultSet.getString("NOPAIS"));
                
                if (jTextFieldCadastroPaisCdPais.getText().equalsIgnoreCase(String.valueOf(pais.getCdPais()))) {
                        MPais mPais = new MPais();
                        mpais.setaValoresTela(pais);
                        pesquisaPK = true;
                }
            }

            if (pesquisaPK == false) {
                return false;
            } else if (pesquisaPK == true) {
                return true;
            }

        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, "Erro: " + e, "Erro", 1);
        } finally {
            ci.fechaConexao();
        }
        return pesquisaPK;
    }

//Método Que Seta Os Valores Na Tela

public void setaValoresTela(Pais pais) {
        jTextFieldCadastroPaisNoPais.setText(pais.getNoPais());
    }

3 Respostas

E

Ninguémm Que Possa Me Ajudar ?

E

Bom encontrei uma solução, para meu problema só não sei se ficou muito viável, mas está funcionando.

E

Bom pessoal ai está a solução mais viável que encontrei, se alguém tem uma melhor por favor post aqui para me ajudar.

// Interface MPais

private void jButtonCadastroPaisPesquisarPKActionPerformed(java.awt.event.ActionEvent evt) {                                                               
        
        if(verificaClique == 1) {
            
            jTextFieldCadastroPaisCdPais.enable(true);
            jTextFieldCadastroPaisCdPais.requestFocus();
            jButtonCadastroPaisCadastrar.setVisible(true);
            jPanelCadastroPais.repaint();
            
            jTextFieldCadastroPaisCdPais.setText("");
            jTextFieldCadastroPaisNoPais.setText("");
            verificaClique++;
            
        } else if (verificaClique == 2) {
            
            if(jTextFieldCadastroPaisCdPais.getText().equalsIgnoreCase("")) {
                
                JOptionPane.showMessageDialog(null, "O campo (Código) não foi preenchido", "Cadastro - País", 1);
                verificaClique = 2;
                
            } else {
                
                boolean pesquisaPK = false;
                
                jTextFieldCadastroPaisCdPais.enable(false);
                jTextFieldCadastroPaisNoPais.requestFocus();
                jPanelCadastroPais.repaint();
                
                Map<String, JTextField> mapJTextField = new HashMap<String, JTextField>();
                mapJTextField.put("jTextFieldCadastroPaisCdPais", jTextFieldCadastroPaisCdPais);
                mapJTextField.put("jTextFieldCadastroPaisNoPais", jTextFieldCadastroPaisNoPais);
                
                Pais pais = new Pais();
                pais.setCdPais(Integer.parseInt(jTextFieldCadastroPaisCdPais.getText()));
                
                
                MPaisCRUD mPaisCRUD = new MPaisCRUD();
                pesquisaPK = mPaisCRUD.paisPesquisaPK(pesquisaPK, pais, mapJTextField);
                
                if (pesquisaPK == false) {
                    jTextFieldCadastroPaisCdPais.enable(true);
                    jTextFieldCadastroPaisCdPais.requestFocus();
                    jTextFieldCadastroPaisCdPais.setText("");
                    jPanelCadastroPais.repaint();
                    verificaClique = 2;
                    JOptionPane.showMessageDialog(null, "Não foi encontrado nenhum registro com o (Código = " + jTextFieldCadastroPaisCdPais.getText() + ")", "Cadastro - País", 1);
                } else if (pesquisaPK == true) {
                    jButtonCadastroPaisCadastrar.setVisible(false);
                    verificaClique = 1;
                }
                
            }
        }
    }

//Lógica de Negócio Ação CRUD

public boolean paisPesquisaPK(boolean pesquisaPK, Pais pais, Map<String, JTextField> mapJTextField) {
        
        String cdPaisTemp = String.valueOf(pais.getCdPais());
        
        ConexaoImobiliaria ci = new ConexaoImobiliaria();
        ci.criaConexao();

        String comando = "SELECT CDPAIS, NOPAIS FROM PAIS WHERE CDPAIS = " + pais.getCdPais();

        PreparedStatement preparedStatement;
        ResultSet resultSet;

        try {

            preparedStatement = (PreparedStatement) ci.getConnection().prepareStatement(comando);
            resultSet = preparedStatement.executeQuery();

            while (resultSet.next()) {

                pais.setCdPais(resultSet.getInt("CDPAIS"));
                pais.setNoPais(resultSet.getString("NOPAIS"));

                if (cdPaisTemp.equalsIgnoreCase(String.valueOf(pais.getCdPais()))) {
                    pesquisaPK = true;
                    MPais mPais = new MPais();
                    mPais.setaValoresTela(pais, mapJTextField);

                }
            }

            if (pesquisaPK == false) {
                return false;
            } else if (pesquisaPK == true) {
                return true;
            }

        } catch (SQLException e) {
            JOptionPane.showMessageDialog(null, "Erro: " + e, "Erro", 1);
        } finally {
            ci.fechaConexao();
        }
        return pesquisaPK;
    }

//Método Que Seta Os Valores Na Tela

public void setaValoresTela(Pais pais, Map<String, JTextField> mapJTextField) {
        
        jTextFieldCadastroPaisNoPais = mapJTextField.get("jTextFieldCadastroPaisNoPais");
        jTextFieldCadastroPaisNoPais.setText(pais.getNoPais());
    }
Criado 4 de abril de 2012
Ultima resposta 13 de abr. de 2012
Respostas 3
Participantes 1