JTextField

10 respostas
edymrex

Como eu faço para pegar valores númericos dígitados no JTextField…??
Como que eu faço para validar o que o usuário digitou em um JTextField…?
por exemplo se o usuário dígitar uma string no campo do JTextField aparece uma messagem para ele a qual ele so podera dígitar número tem alguma exceção para isso…?

10 Respostas

griciolli

Boa tarde Edymrex, tenho um exemplo acho que vai te ajudar, um campo cep onde só pode ser digitados números e fazendo a formatação do cep, foi utilizado o bloco try pq a classe MaskFormatter lança uma exception

try{
				MaskFormatter cepFormata= new MaskFormatter("#####-###");
				JFormattedTextField textFieldCep = new JFormattedTextField(cepFormata);
				
			}
			catch (Exception e) {
				// Vc lança sua exception
                       }

P/ vc pegar um valor digitado em um JFormattedTextField ou um JTextField é o metado getText() nesse exemplo para vc pegar o que foi digitado no campo textFieldCep ficaria assim textFieldCep.getText();

Espero ter ajudado

pettalas

Galera, estou com problemas na hora de recuperar os dados digitados no JTextField.

Griciolli, eu estou usando o getText(); mas não está dando certo.

Meu código:

String usuario = txt_usuario.getText(); String senha = txt_senha.getText(); String mostrar = "Usuario: " + usuario + "\n Senha: " + senha; JOptionPane.showMessageDialog(null, mostrar, "Usuário",1);

Precisa fazer mais alguma coisa além disso aí?

Obrigada!

Evelyn

Sami_Koivu

Olá Evelyn,

Este trecho de código não parece ter nenhum problema aparente. Você diz que não está dando certo - qual é o resultado?

[]s,
Sami

pettalas

Oi Sami, tudo bem?

Não aparece nenhum resultado.

Eu tô apanhando desse negócio!

Valeu!

Um abraço,
Evelyn

Sami_Koivu

Oi, tudo bem.

Tem como você postar o código inteiro da sua classe? Só com este trecho eu estaria meio que chutando sobre a causa. Pode ser que esse trecho não está sendo executado, ou txt_usuario/txt_usuario estão null.

[]s,
Sami

pettalas

Oi Sami, tudo bem?

Segue o meu código:

import java.awt.*;
import javax.swing.JPanel.*;
import javax.swing.JOptionPane.*;
import javax.swing.*;

public class logon extends JPanel {
    
    /** Creates new form logon */
    public logon() {
        initComponents();
    }

   // <editor-fold defaultstate="collapsed" desc=" Generated Code ">                          
    private void initComponents() {
        jPanel1 = new javax.swing.JPanel();
        lbl_logo = new javax.swing.JLabel();
        jPanel2 = new javax.swing.JPanel();
        lbl_usuario = new javax.swing.JLabel();
        txt_usuario = new javax.swing.JTextField();
        lbl_senha = new javax.swing.JLabel();
        txt_senha = new javax.swing.JPasswordField();
        lbl_empresa = new javax.swing.JLabel();
        lbl_filial = new javax.swing.JLabel();
        txt_filial = new javax.swing.JTextField();
        txt_empresa = new javax.swing.JTextField();
        cmd_login = new javax.swing.JButton();
        cmd_sair = new javax.swing.JButton();

        setToolTipText("Identifica\u00e7\u00e3o de Usu\u00e1rios");
        setEnabled(false);
        setMaximumSize(new java.awt.Dimension(357, 207));
        setName("Identifica\u00e7\u00e3o de Usu\u00e1rios");
        getAccessibleContext().setAccessibleName("Identifica\u00e7\u00e3o de Usu\u00e1rios");
        jPanel1.setBorder(javax.swing.BorderFactory.createEtchedBorder());
        lbl_logo.setIcon(new javax.swing.ImageIcon("C:\\TCC\\venus\\imagens\\logo.jpg"));
        lbl_logo.setText("jLabel1");

        jPanel2.setBorder(javax.swing.BorderFactory.createEtchedBorder());
        lbl_usuario.setFont(new java.awt.Font("Tahoma", 1, 11));
        lbl_usuario.setText("Usu\u00e1rio");

        lbl_senha.setFont(new java.awt.Font("Tahoma", 1, 11));
        lbl_senha.setText("Senha");

        lbl_empresa.setFont(new java.awt.Font("Tahoma", 1, 11));
        lbl_empresa.setText("Empresa");

        lbl_filial.setFont(new java.awt.Font("Tahoma", 1, 11));
        lbl_filial.setText("Filial");

        org.jdesktop.layout.GroupLayout jPanel2Layout = new org.jdesktop.layout.GroupLayout(jPanel2);
        jPanel2.setLayout(jPanel2Layout);
        jPanel2Layout.setHorizontalGroup(
            jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(lbl_usuario)
                    .add(lbl_senha))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(txt_usuario, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 91, Short.MAX_VALUE)
                    .add(txt_senha, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 91, Short.MAX_VALUE))
                .add(17, 17, 17)
                .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(jPanel2Layout.createSequentialGroup()
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(lbl_empresa))
                    .add(lbl_filial))
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING)
                    .add(txt_filial, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 81, Short.MAX_VALUE)
                    .add(txt_empresa, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, 81, Short.MAX_VALUE))
                .addContainerGap())
        );
        jPanel2Layout.setVerticalGroup(
            jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel2Layout.createSequentialGroup()
                .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(jPanel2Layout.createSequentialGroup()
                        .add(43, 43, 43)
                        .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(lbl_senha)
                            .add(lbl_filial)))
                    .add(jPanel2Layout.createSequentialGroup()
                        .addContainerGap()
                        .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                            .add(lbl_usuario)
                            .add(lbl_empresa)
                            .add(txt_empresa, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(txt_usuario, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                        .add(jPanel2Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                            .add(txt_filial, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                            .add(txt_senha, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))))
                .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        cmd_login.setIcon(new javax.swing.ImageIcon("C:\\TCC\\venus\\imagens\\login.png"));
        cmd_login.setText("Logon");
        cmd_login.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cmd_loginActionPerformed(evt);
            }
        });

        cmd_sair.setIcon(new javax.swing.ImageIcon("C:\\TCC\\venus\\imagens\\exit.png"));
        cmd_sair.setText("Sair");
        cmd_sair.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cmd_sairActionPerformed(evt);
            }
        });

        org.jdesktop.layout.GroupLayout jPanel1Layout = new org.jdesktop.layout.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel1Layout.createSequentialGroup()
                .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
                    .add(jPanel1Layout.createSequentialGroup()
                        .add(89, 89, 89)
                        .add(lbl_logo, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 158, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(jPanel1Layout.createSequentialGroup()
                        .add(53, 53, 53)
                        .add(cmd_login)
                        .add(52, 52, 52)
                        .add(cmd_sair, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 99, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
                    .add(jPanel1Layout.createSequentialGroup()
                        .addContainerGap()
                        .add(jPanel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(jPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .add(lbl_logo, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 31, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .add(18, 18, 18)
                .add(jPanel2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
                .add(jPanel1Layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(cmd_login)
                    .add(cmd_sair))
                .addContainerGap(12, Short.MAX_VALUE))
        );

        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(this);
        this.setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(layout.createSequentialGroup()
                .addContainerGap()
                .add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(layout.createSequentialGroup()
                .addContainerGap()
                .add(jPanel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
    }// </editor-fold>                        


    // Variables declaration - do not modify                     
    private javax.swing.JButton cmd_login;
    private javax.swing.JButton cmd_sair;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JPanel jPanel2;
    private javax.swing.JLabel lbl_empresa;
    private javax.swing.JLabel lbl_filial;
    private javax.swing.JLabel lbl_logo;
    private javax.swing.JLabel lbl_senha;
    private javax.swing.JLabel lbl_usuario;
    private javax.swing.JTextField txt_empresa;
    private javax.swing.JTextField txt_filial;
    private javax.swing.JPasswordField txt_senha;
    private javax.swing.JTextField txt_usuario;
    // End of variables declaration                   





     private void valida_usuario()
    {
        // verifica se usuario é cadastrado
        String usuario  = txt_usuario.getText();
        String senha    = txt_senha.getUIClassID();
        String empresa  = txt_empresa.getText();
        String filial   = txt_filial.getText();
        String mostrar  = "Usuário:" + usuario  +
                          "\nSenha:" + senha  +
                          "\nEmpresa:" + empresa +
                          "\nFilial:" + filial;
        JOptionPane.showMessageDialog(null, mostrar,"Usuario",1);
                
    }
}

Muito obrigada pela ajuda!

Abraço,
Evelyn
:roll: :lol: :smiley:

Sami_Koivu

Olá,

Ajustei seu código um pouquinho para conseguir rodar aqui, mas para mim funciona legal. Qual é seu problema mais detalhadamente?
a) aquele janela de mensagem (JOptionPane) não aparece
b) a janela aparece, mas os valores dos campos não estão visíveis
c) a janela aparece e o resto dos campos funcionam legal, mas tem problemas com o campo da senha

[]s,
Sami

pettalas

Oi Sami!

Realmente os valores não aparecem, eu coloquei essa caixa (JOptionPane) só pra testar a chamada das telas.

O problema é que não consigo recuperar os valores digitados nas caixas de texto, eu preciso disso pra validar no banco de dados quando o usuário se logar no sistema, mas para ter certeza de que estou recuperando os dados coloquei a caixa de mensagem.

Também tive problemas com o campo da senha, não sei qual é o método certo para recuperar os valores.

Muito obrigada pela ajuda!

Um abraço,
Evelyn
:oops: :roll: :thumbup:

Sami_Koivu

Oi Evelyn,

Estranho isso. Eu não modifiquei o método valida_usuario mas ele estava funcionando bem. A única coisa que não funcionava era o campo de senha, mas daí eu experimentei com getText() (que é deprecated, mas funciona) e com getPassword() que funciona mas retorna um array de char que tem que ser transformado em String.

E quando você tenta recuperar os valores, a caixa aparece mas os valores são vazios? “” ou tal?

[]s,
Sami

pettalas

Bom dia Sami!!!

Eu consegui!!! :thumbup:
Mas usei de outros artificios…
Eu criei métodos de set e get na minha classe usuário e deu certinho.

Muito obrigada pela sua ajuda!

Beijão!

PS.: você manja de JTable?

Criado 5 de outubro de 2006
Ultima resposta 17 de out. de 2006
Respostas 10
Participantes 4