JTextField vazio

6 respostas
E

gente ainda estou com esse problema , queria que quando um jttextfield fosse vazio retornasse a uma msg
e siim ja fiz isso maiis e o seguinte quando clico num campo não digito nada
ele retorna blezinha , maiis quando clico em adicionar que chama a função do banco de dados vem apenas
a msg de erro do bd , queria que quando um campo foçe vazio impedisse que essa função seja jogada pro bd
e retornasse uma msg pedindo pra ser digitado algo.

bom deixar aqui meu algoritimo quem poder me ajudar agradeço

////  Meus imports

import java.awt.event.ActionListener;
import java.awt.event.KeyListener;
import java.awt.event.KeyEvent;
import java.awt.event.FocusEvent;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.sql.*;


       public class ProjetoEnivelton1 extends JFrame {
       	
       	
       	/// meus fields

  final JTextField  jt1=new JTextField();
  final JTextField  jt2=new JTextField();
  final JTextField  jt3=new JTextField();
  final JTextField  jt4=new JTextField();
  final JTextField  jt5=new JTextField();
  final JMenuBar barra=new JMenuBar ();
  final JMenu menu=new JMenu("arquivo");
  // textarea
  final JTextArea  ja1=new JTextArea();
  
  
  
       public static void main(String[] args) {
           ProjetoEnivelton1 tab = new ProjetoEnivelton1();
           tab.setVisible(true);
           
      }

   

    

          public ProjetoEnivelton1() {
          super();

          getContentPane().setLayout(null);
          this.setSize(530,450);
          this.setLocationRelativeTo(null);
          this.setTitle("super mercados");
       
       
         //MENU
          getContentPane().add(barra);
          setJMenuBar(barra);
          barra.add(menu);
          JMenuItem sair=new JMenuItem("Sair");
          menu.add(sair);
          //ABA1
          final JTabbedPane tabbedPane = new JTabbedPane();
          tabbedPane.setBounds(0, 0, 502, 371);
          getContentPane().add(tabbedPane);

          final JPanel panel = new JPanel();

          panel.setLayout(null);
          tabbedPane.addTab("Ajuda", null, panel, null);
          
          ja1.setText
("     - para inserir digite corretamente nos campos e click em adicionar. \n\n    - para excluir digite apenas o nome e clique em excluir.\n\n    - para localizar digite apenas o nome na aba debito da mesma forma. \n\n-----------------------(preste atenção nas ligações do codigo de cada tabela)------------------------ ");
          ja1.setBounds(0,0 ,500 ,370 );
          panel.add(ja1);
         
          //ABA 2 (debito)

           
           final JPanel panel_3 = new JPanel();
           panel_3.setLayout(null);
           tabbedPane.addTab("cliente", null, panel_3, null);



       
           // adicionar registro a tabela
           
           final JButton inserir=new JButton("adicionar");
           inserir.setBounds(00,115 ,100 ,20 );
           panel_3.add(inserir);

           //apagar registro
           final JButton  limpar=new JButton("limpar");
           limpar.setBounds(100,115 ,100 ,20 );
           panel_3.add(limpar);
         
         
           // localizar registro 
           
           

     //jtextfields      /////////////////////////////////////////////////////////
       


        //add fields codigo
        final JLabel cod = new JLabel();
           cod.setText(" cod:");
           cod.setBounds(00, 00,50,20);
           panel_3.add(cod);

         
           jt1.setBounds(45,00 ,100 ,20 );
           panel_3.add(jt1);
           
       //add fields nome
          
           final JLabel nome = new JLabel();
           nome.setText(" nome:");
           nome.setBounds(00, 22,50,20);
           panel_3.add(nome);

        
           jt2.setBounds(45,22 ,100 ,20 );
           panel_3.add(jt2);
      // add fields endereço
      final JLabel end = new JLabel();
           end.setText(" end:");
           end.setBounds(00, 44,50,20);
           panel_3.add(end);


           jt3.setBounds(45,44 ,100 ,20 );
           panel_3.add(jt3);
       //add fields tel
           final JLabel tel = new JLabel();
           tel.setText(" tel:");
           tel.setBounds(00, 66,50,20);
           panel_3.add(tel);


           jt4.setBounds(45,66 ,100 ,20 );
           cod.setText(" cod:");
           panel_3.add(jt4);
           

        //add fields sexo
           final JLabel sexo = new JLabel();
           sexo.setText(" sexo:");
           sexo.setBounds(00, 88,50,20);
           panel_3.add(sexo);

           jt5.setBounds(45,88 ,100 ,20 );
           panel_3.add(jt5);

          //ABA 3  (dados do cliente)



           
           
           final JPanel panel_1 = new JPanel();
           panel_1.setLayout(null);
           tabbedPane.addTab("debito", null, panel_1, null);

    ///////////////////////////////////////////////////////////////////////
           sair.addActionListener(
        new ActionListener(){
            public void actionPerformed(ActionEvent event){
                //colocar botoes em portugues
                Object opcao[]={"Sim","Não"};
                int i=JOptionPane.showOptionDialog(null,"Deseja sair?","Sair",JOptionPane.YES_NO_OPTION,JOptionPane.QUESTION_MESSAGE,null,opcao,opcao[0]);
                if (i==JOptionPane.YES_OPTION)
                    System.exit(0);
            }
        }
        );
        
        
        
  ////////////////////////////////////////////////////////////////////////////      
        limpar.addActionListener(
        	new ActionListener(){
        public void actionPerformed( ActionEvent e )
   {
      jt1.setText( "" );
      jt2.setText( "" );
      jt3.setText( "" );
      jt4.setText( "" );
      jt5.setText( "" );
   }}
  );
        
  ///////////////////////////////////////////////////////////////////////////
  jt1.addActionListener(
        new ActionListener(){
            public void actionPerformed(ActionEvent event){
            	if(jt1.getText().equals("")){
            		JOptionPane.showMessageDialog(null,"campo vazio");
            }	}});
            
             jt2.addActionListener(
        new ActionListener(){
            public void actionPerformed(ActionEvent event){
            	if(jt2.getText().equals("")){
            		JOptionPane.showMessageDialog(null,"campo vazio");
            }	}});
            
             jt3.addActionListener(
        new ActionListener(){
            public void actionPerformed(ActionEvent event){
            	if(jt3.getText().equals("")){
            		JOptionPane.showMessageDialog(null,"campo vazio");
            }	}});
            
             jt4.addActionListener(
        new ActionListener(){
            public void actionPerformed(ActionEvent event){
            	if(jt4.getText().equals("")){
            		JOptionPane.showMessageDialog(null,"campo vazio");
            }	}});
            
             jt5.addActionListener(
        new ActionListener(){
            public void actionPerformed(ActionEvent event){
            	if(jt5.getText().equals("")){
            		JOptionPane.showMessageDialog(null,"campo vazio");
            }	}});
/////////////////////////////////////////////////////////////////////////////			
  jt1.addKeyListener(new KeyListener(){  
   
          public void keyTyped(KeyEvent e) {  
             char c = e.getKeyChar();  
               
               if(!Character.isDigit(c)){  
                  e.consume();  
               }     
               
          }  
   
          public void keyPressed(KeyEvent e) {  
               
               
               
          }  
   
          public void keyReleased(KeyEvent e) {  
             // TODO Auto-generated method stub  
               
          }  
            
       });
  ////////////////////////////////////////////////////////////////////////
      jt4.addKeyListener(new KeyListener(){  
   
          public void keyTyped(KeyEvent e) {  
             char c = e.getKeyChar();  
               
               if(!Character.isDigit(c)){  
                  e.consume();  
               }     
               
          }  
   
          public void keyPressed(KeyEvent e) {  
               
               
               
          }  
   
          public void keyReleased(KeyEvent e) {  
             // TODO Auto-generated method stub  
               
          }  
            
       }); 
       
  //////////////////////////////////////////////////////////////////////
     
                  
                
                
            

                
 /////////////////////////////////////////////////////////////////////////      
           inserir.addActionListener((ActionListener) new ActionListener(){
				public void actionPerformed(ActionEvent event){

					inserirTabela();//chama metodo para inserção

			}});

			this.setSize(502,371);


		}

		//cria o metodo que insere dados
	private void inserirTabela(){

		Connection con=null;
		PreparedStatement ps=null;

		try{
			//inicializa a conexão
		


			con=DriverManager.getConnection("jdbc:odbc:BD1");
			//aqui insere dados
			ps=con.prepareStatement("insert into Cliente(codigo,nome,endereco,telefone,sexo)values(?,?,?,?,?);");
			//pega o dado do JTextField
			ps.setString(1,jt1.getText());
			ps.setString(2,jt2.getText());
			ps.setString(3,jt3.getText());
			ps.setString(4,jt4.getText());
			ps.setString(5,jt5.getText());
			//coloca os dados no bd
			ps.executeUpdate();
			//limpa JTextField
			jt1.setText("");
			jt2.setText("");
			jt3.setText("");
			jt4.setText("");
			jt5.setText("");
			//coloca o foco no componente jt1
			jt1.requestFocus();
			JOptionPane.showMessageDialog(null,"Registro Inserido","Registro",JOptionPane.INFORMATION_MESSAGE);

		}

		catch(Exception event){

			event.printStackTrace();
			JOptionPane.showMessageDialog(null,"Conexão não estabelecida ou campo repitido \n certifique se digitou corretamente\n"  +event.toString(),"Falha",JOptionPane.ERROR_MESSAGE);

		}

		finally{

			try{

				if(ps!=null){

					ps.close();//termina a inserção

				}

				if(con!=null){

					con.close();//termina a inserção

				}

			}

			catch(SQLException ex){
				JOptionPane.showMessageDialog(null,"Erro Geral","Erro",JOptionPane.ERROR_MESSAGE);
			}

		}

	}

  

  

	}

6 Respostas

Jesuino_Master

Oi,

Tenta:

if( seutextfield.getText().isEmpty() ){
     //Entra aqui se o campo estiver vazio
}else{
     // aqui se o campo tiver algo
}

[]'s

E

tu testo aii ?

M

O código do Jesuíno funciona, mas se você digitar um ou mais espaços sem outros caracteres no JTextField ele aceitará. Caso seus sistema não deva permitir isso, faça:

if(seutextfield.getText().trim().isEmpty())
marcoslogan

Olha, eu estava com um probleminha parecido, consegui resolver assim:

primeiro criei uma classe interna para manipular os eventos de foco dos componentes.

//isso aqui vai dentro de uma classe que estende a classe JFrame

    private class focusHandler extends Focus Adapter{
        private boolean Id_Focus = false;
        @Override
        public void focusGained(FocusEvent evt){
             if(Id_Focus){
                 Id_Focus = !Id_Focus;
                 JOptionPane.showMessageDialog(null,"Campo Obrigatório");
                 jTextField1.requestFocus();
                 jTextField2.setText("");
             }
        }


       public void focusLost(FocusEvent evt){
               if(JTextField1.getText().isEmpty){
                    IdFocus = !Id_Focus;
                    JTextField1.requestFocus();
                    JTextField2.setText("  ");
               }
       }
    }

Exatamente assim que eu fiz, porque quando eu clicava no segundo jTextField ele dava o foco no segundo só que o segundo também tem um código igual e aí mostrava as duas mensagens, por isso eu coloquei o código: jTextField2.setText(" "), se eu fizer exatamente como disse o colega acima, eu acho que vai dar pau de novo. Se alguém souber, como resolver isso poste aqui.

L

O teste não poderia ser dessa forma?

if (seutextfield.getText().trim().length() == 0)

Ou então…

if ("".equals(seutextfield.getText().trim())
thundercas

lbvitoriano:
O teste não poderia ser dessa forma?

if (seutextfield.getText().trim().length())

Ou então…

if ("".equals(seutextfield.getText().trim())

Bom, na primeira expressão precisaria incluir " == 0", já a segunda expressão funcionaria perfeitamente…

Criado 3 de dezembro de 2009
Ultima resposta 4 de dez. de 2009
Respostas 6
Participantes 6