JTextField vazio

6 respostas
M

olá

gostaria de saber qual o comando que detecta se o JTextField foi ou não preenchido.

para poder fazer o usuario soh passar adiante se ele estiver preenchido:

if (a JTextField nome não estiver preenchida)

JOptionPane.showMessageDialog(null, "Insira o Nome", "Error", JOptionPane.WARNING_MESSAGE);

else
	 pessoa.setNome(nome.getText());

vlw!

6 Respostas

janjan

cara se voce esta usando o netbeans clica com o botao direito no teu textfield -> eventos-> focusLost == o cara entra no componente e sai, entao ativa esse evento.
acho que vai lhe ajudar

M

estou usando eclipse

janjan

Cara fiz um exemplinho bem "xumbregazinho" cola ele em uma classe e executa pra ver oque acontece
a classe deve se chamar textfield

Mas oque te importa mesmo é o evento que eu coloquei para o textField

package teste;

import java.awt.Dimension;
import java.awt.GridBagLayout;
import java.awt.GridLayout;
import java.awt.event.FocusEvent;
import java.awt.event.FocusListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JTextField;

public class textfield extends JFrame{
	JFrame tela=new JFrame();
	JTextField t= new JTextField();

	public textfield(){
		
		
				t.setPreferredSize(new Dimension(150,20));
		tela.setLayout(new GridLayout(5,1));
		t.addFocusListener(new FocusListener(){

			@Override
			public void focusGained(FocusEvent e) {
				// TODO Auto-generated method stub
				
			}

			@Override
			public void focusLost(FocusEvent e) {
				if(t.getText().length()<=0){
					JOptionPane.showMessageDialog(null, "erro");
				}
				
			}
			
		});
		tela.getContentPane().add(t);
		tela.getContentPane().add(new JButton("botao"));
		tela.setSize(new Dimension(20,200));
		tela.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		tela.setVisible(true);
		
		
	}
	public static void main(String[] args) {
		new textfield();
	}

}

Eu sei que nao esta nos padrões pois to indo pra casa e fiz rapidão só pra ajuda o cara.
amanha se lebrar arrumo ela entao
Abraços!!!

Felagund

acho mais facil fazer de outro modo

if (nome.getText().isEmpty())  
   JOptionPane.showMessageDialog(null, "Insira o Nome", "Error", JOptionPane.WARNING_MESSAGE);  
 else  
      pessoa.setNome(nome.getText());

:slight_smile:

M

vlw ae janjan, mas eh isso ae que o Felagund posto, esse msm, vlw ae (y)

mas soh uma duvida agora

se eu dou um System.out.println(pessoa.getNome());
ele me da um Null

como vou por isso numa tabelinha SQL, ele nao vai jogar “null” no nome? ao invez de não jogar nada?
o/

M

e como faço para fazer o mesmo num TextField que vai receber um inteiro?

conseguir dar set usando ParseInt
mas

ele não deixa, alguma ideia?

Criado 2 de abril de 2009
Ultima resposta 2 de abr. de 2009
Respostas 6
Participantes 3