Foros del Web » Programación para mayores de 30 ;) » Java »

java.lang.NullPointerException+como solucionarlo?

Estas en el tema de java.lang.NullPointerException+como solucionarlo? en el foro de Java en Foros del Web. Estoy intentando arreglar esta exception java.lang.NullPointerException, y no consigo como solucionarlo Alguien me podria ayudar con mi programa para arreglar el error? si no es ...
  #1 (permalink)  
Antiguo 18/01/2011, 19:17
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 2 meses
Puntos: 3
java.lang.NullPointerException+como solucionarlo?

Estoy intentando arreglar esta exception java.lang.NullPointerException, y no consigo como solucionarlo

Alguien me podria ayudar con mi programa para arreglar el error?
si no es mucho molestar, ¿ es correcto usar metodos privados y variables privadas cuando se trabaja con swing?
muchas gracias

Este es el error completo:
Código:
java.lang.NullPointerException
	at Asi.get_textRut(Asi.java:107)
	at Asi.get_Panel(Asi.java:50)
	at Asi.inicio(Asi.java:35)
	at Asi.<init>(Asi.java:29)
	at Asi.main(Asi.java:184)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at edu.rice.cs.drjava.model.compiler.JavacCompiler.runCommand(JavacCompiler.java:271)
>
el error me lo lanza en estos metodos:
Asi.get_textRut(Asi.java:107)
at Asi.get_Panel(Asi.java:50)
esta es la linea 50: panel.add(get_textRut());
la linea 107 es: text_rut.setBounds(190,30,100,26);

mi codigo
Código PHP:
import javax.swing.JButton;
import javax.swing.JTextField;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.BorderFactory;
import java.awt.Container;
import java.awt.Color;
import java.awt.Font;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;


public class 
Prueba extends JFrame
{
  
private 
JButton botonIngreso=null;
private 
JButton botonBorrar=null;
private 
JButton botonSalir=null;
private 
JTextField text_rut=null;
private 
JTextField text_nombre=null;
private 
JLabel label_nombre=null;
private 
JLabel label_rut=null;
private 
JPanel panel=null;

Container contenedor=getContentPane();  
public 
Asi()
{
  
inicio();
}


private 
void inicio()
{
  
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_labelRut());
panel.add(get_textRut());

panel.add(get_labelNombre());
panel.add(get_textNombre());


panel.add(get_botonIngreso());
panel.add(get_botonBorrar());
panel.add(get_botonSalir());
contenedor.add(panel);
}
return 
panel;
}



private 
JLabel get_labelNombre()
{
if(
label_nombre==null)
{
  
label_nombre=new JLabel();
  
label_nombre.setText("nombre:");
  
label_nombre.setHorizontalAlignment(JLabel.CENTER);
  
label_nombre.setFont(new Font("Arial",Font.BOLD+Font.ITALIC,12));
  
label_nombre.setBounds(100,30,80,26);
  
label_nombre.setBorder(BorderFactory.createMatteBorder(1,2,2,2,Color.black));
  
label_nombre.setOpaque(true);
  
label_nombre.setForeground(Color.BLACK);
  
label_nombre.setBackground(Color.RED);
}
  return 
label_nombre;
}

private 
JLabel get_labelRut()
{
if(
label_rut==null)
{
label_rut=new JLabel();
label_rut.setText("rut:");
label_rut.setHorizontalAlignment(JLabel.CENTER);
label_rut.setFont(new Font("Arial",Font.BOLD+Font.ITALIC,12));
label_rut.setBounds(100,30,80,25);
label_rut.setBorder(BorderFactory.createMatteBorder(1,2,2,2,Color.black));
label_rut.setOpaque(true);
label_rut.setForeground(Color.BLACK);
label_rut.setBackground(Color.RED);
}
return 
label_rut;
}

//Texts


private JTextField get_textRut()
{
  if(
text_rut==null)
  {
  
text_rut.setBounds(190,30,100,26);
  
text_rut.setFont(new Font("Arial",Font.PLAIN,14));
  
text_rut.setBorder(BorderFactory.createMatteBorder(1,2,2,2,Color.black));
  
text_rut.setForeground(Color.BLACK);
  
text_rut.setBackground(Color.RED);
  }
return 
text_rut;
}

private 
JTextField get_textNombre()
{
if(
text_nombre==null)
{
text_nombre.setBounds(190,60,100,26);
text_nombre.setFont(new Font("Arial",Font.PLAIN,14));
text_nombre.setBorder(BorderFactory.createMatteBorder(1,2,2,2,Color.black));
text_nombre.setForeground(Color.BLACK);
text_nombre.setBackground(Color.RED);
}
return 
text_nombre;
}

//botones

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

}
  return 
botonIngreso;
}


private 
JButton get_botonBorrar()
{
if(
botonBorrar==null)
{
botonBorrar=new JButton();
botonBorrar.setText("Borrar");
botonBorrar.setBounds(130,150,80,26);

botonBorrar.addActionListener(new ActionListener()
                                {
public 
void actionPerformed(ActionEvent e)
{
text_rut.setText("");
text_nombre.setText("");
}});
}
return 
botonBorrar;
}

private 
JButton get_botonSalir()
{
if(
botonSalir==null)
{
botonSalir=new JButton();
botonSalir.setText("Salir");
botonSalir.setBounds(230,150,80,26);

botonSalir.addActionListener(new ActionListener()
{
public 
void actionPerformed(ActionEvent e)
{
dispose();
}});
}
return 
botonSalir;
}


public static 
void main(String[] args)
{
Prueba prueba =new Prueba();
}


  #2 (permalink)  
Antiguo 18/01/2011, 20:43
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: java.lang.NullPointerException+como solucionarlo?

Hola,

Código:
private JLabel get_labelRut()
{
if(label_rut==null)
{
label_rut=new JLabel();
label_rut.setText("rut:");
label_rut.setHorizontalAlignment(JLabel.CENTER);
label_rut.setFont(new Font("Arial",Font.BOLD+Font.ITALIC,12));
label_rut.setBounds(100,30,80,25);
label_rut.setBorder(BorderFactory.createMatteBorder(1,2,2,2,Color.black));
label_rut.setOpaque(true);
label_rut.setForeground(Color.BLACK);
label_rut.setBackground(Color.RED);
}
return label_rut;
}

//Texts


private JTextField get_textRut()
{
  if(text_rut==null)
  {
  text_rut=new JTextField();
  text_rut.setBounds(190,30,100,26);
  text_rut.setFont(new Font("Arial",Font.PLAIN,14));
  text_rut.setBorder(BorderFactory.createMatteBorder(1,2,2,2,Color.black));
  text_rut.setForeground(Color.BLACK);
  text_rut.setBackground(Color.RED);
  }
return text_rut;
}
Cita:
Iniciado por -thor- Ver Mensaje
... ¿ es correcto usar metodos privados y variables privadas cuando se trabaja con swing?
No veo porque puede ser incorrecto, los métodos privados se usan para ocultar parte de la implementación de otras clases, y de esa forma no puedan modificar su funcionamiento posteriormente. Para seleccionar entre private, protected y public se debe hacer un análisis claro de los requerimientos de la clase.

Saludos,
  #3 (permalink)  
Antiguo 19/01/2011, 06:38
 
Fecha de Ingreso: noviembre-2008
Mensajes: 59
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: java.lang.NullPointerException+como solucionarlo?

Normal que te dé error, intentas acceder a un objeto que es null, la solución de hackman debería funcionar.
  #4 (permalink)  
Antiguo 19/01/2011, 18:22
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 2 meses
Puntos: 3
Respuesta: java.lang.NullPointerException+como solucionarlo?

Muchas gracias Hackman por tu respuesta, me ha servido para solucionar mi problema ).
Una ultima consulta, que significa este warning y como se elimina?:
Código:
Warning: The serializable class Prueba does not
 declare a static final serialVersionUID field of type long
gracias
  #5 (permalink)  
Antiguo 20/01/2011, 22:33
Avatar de HackmanC  
Fecha de Ingreso: enero-2008
Ubicación: Guatemala
Mensajes: 1.817
Antigüedad: 16 años, 2 meses
Puntos: 260
Sonrisa Respuesta: java.lang.NullPointerException+como solucionarlo?

Hola,

Cita:
Iniciado por -thor- Ver Mensaje
Muchas gracias Hackman por tu respuesta, me ha servido para solucionar mi problema ).
Una ultima consulta, que significa este warning y como se elimina?:
Código:
Warning: The serializable class Prueba does not
 declare a static final serialVersionUID field of type long
gracias
Las clases serializables deben declarar la constante serialVersionUID. La clase JFrame implementa la interface Serializable por lo tanto es un objeto serializable y según la especificación de los JavaBeans debe declarar dicha constante. Pero solo es un Warning, el valor de esta constante debe ser calculado en base a varios factores.

Código:
long static final serialVersionUID = 1;
Saludos,

ps:
http://www.forosdelweb.com/f45/q-javabean-449283/

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:54.