Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/01/2011, 13:18
-thor-
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 2 meses
Puntos: 3
Como pasar valores de Jtextfield para validarlos en otra clase

Hola, llevo poco tiempo con java, bueno tengo 2 clases una con mi interfaz grafica y en la otra quiero hacer las validaciones de los JTextFields, cuando hago clikc en mi boton de ingreso recibo un:
Código:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
abajo coloco mis dos codigos y escribi comentario en donde llamo a la funcion de la clase Validaciones.

Como puedo solucionar el problema para hacer las validaciones en otra clase, y solamente llamar al metodo que valida en mi clase principal?
muchas gracias
Esta es mi clase principal Cliente
Código PHP:

import javax
.swing.*;
import java.awt.*;
import java.sql.*;

public class 
Cliente extends JFrame
{
public static final 
long serialVersionUID 20112201L;  
public 
JButton botonIngreso=null;
public 
JButton botonBorrar=null;
public 
JButton botonSalir=null;
public 
JTextField text_rut=null;
public 
JTextField text_nombre=null;
public 
JPanel panel=null;

Container contenedor=getContentPane();  

public 
Cliente()
{
 
get_Panel();
  
this.setTitle("Ingresando");
  
this.setSize(400,400);
  
this.setVisible(true);
}

private 
JPanel get_Panel()
{
if(
panel==null)
{
panel=new JPanel();
panel.setLayout(null);
panel.add(get_textRut());
panel.add(get_textNombre());
panel.add(get_botonIngreso());
panel.add(get_botonBorrar());
panel.add(get_botonSalir());
contenedor.add(panel);
}
return 
panel;
}

private 
JTextField get_textRut()
{
  if(
text_rut==null)
  {
  
text_rut=new JTextField(9);  
  }
return 
text_rut;
}

private 
JTextField get_textNombre()
{
if(
text_nombre==null)
{
text_nombre=new JTextField(30);  
}
return 
text_nombre;
}

private 
JButton get_botonIngreso()
{
if(
botonIngreso==null)
{
botonIngreso=new JButton();
botonIngreso.setText("Ingresar");
botonIngreso.setBounds(30,150,80,26);
 

botonIngreso.addActionListener(new ActionListener()
        {
          public 
void actionPerformed(ActionEvent e)
          {       
//Aqui creo el objeto "vali" de la clase validaciones
           
Validaciones vali=new Validaciones();
            
/*aqui llamo a mi metodo getValida que 
esta en la otra clase, 
al parecer no consigo enviar
 la referencia de mis JTextField a la 
otra clase, porque al hacer cick en 
el boton ingresar recibo un 
error Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException*/
          
va.getValida(); 
        
        
FabricaConexion fabrica=new FabricaConexion();
        
Connection conexion=fabrica.hacerConexion();
        
       try{
  
String sql "INSERT INTO persona("+"rut,"+"nombre) "+"VALUES(?,?)";
     
    
PreparedStatement p conexion.prepareStatement(sql);
    
p.setInt(1,Integer.parseInt(text_rut.getText()));
    
p.setString(2,text_nombre.getText());

    
p.executeUpdate();
 
fabrica.cerrarConexion();
       }
       catch(
SQLException ee)
       {
         
System.out.println("e:"+ee);
       }}});
}
  return 
botonIngreso;
}

public static 
void main(String[] args)
{
new 
Cliente();
}


Esta es la clase que quiero ocupar para las validaciones, por ahora sólo intento validar los campos vacios

Código PHP:

import javax
.swing.JOptionPane;
public class 
Validaciones extends Cliente
{
  
//Aqui creo una variable para instanciar la clase cliente
public Cliente cliente;

//hago este constructor para despues llamar al metodo en la clase Cliente
public Validaciones()
{}

//este constructor es para poder instanciar a mis objetos en la clase Cliente
public  Validaciones (Cliente cliente)
 {
this.cliente=cliente;
}

//quiero devolver la variable que apunta a la instancia de la clase Cliente que se //llama cliente
 
public Cliente getValida()
 {
    if(
cliente.text_rut.getText().equals("")||
       
cliente.text_nombre.getText().equals(""))
    { 
JOptionPane.showMessageDialog(this,"por favor llenar los campos");
    }
    return 
cliente;
 }


este error consigo cuando hago click en el boton ingresar
Código PHP:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at Validaciones
.getValida(Validaciones.java:34)
    
at Cliente$1.actionPerformed(Cliente.java:152)
    
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
    
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
    
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
    
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
    
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
    
at java.awt.Component.processMouseEvent(Component.java:6267)
    
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
    
at java.awt.Component.processEvent(Component.java:6032)
    
at java.awt.Container.processEvent(Container.java:2041)
    
at java.awt.Component.dispatchEventImpl(Component.java:4630)
    
at java.awt.Container.dispatchEventImpl(Container.java:2099)
    
at java.awt.Component.dispatchEvent(Component.java:4460)
    
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4577)
    
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
    
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
    
at java.awt.Container.dispatchEventImpl(Container.java:2085)
    
at java.awt.Window.dispatchEventImpl(Window.java:2478)
    
at java.awt.Component.dispatchEvent(Component.java:4460)
    
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
    
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
    
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
    
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
    
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
    
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
    
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)