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

Como solucionar error java.lang.NullPointerException

Estas en el tema de Como solucionar error java.lang.NullPointerException en el foro de Java en Foros del Web. Hola,cuando intento ejecutar mi programa me arroja el error en ejecucion java.lang.NullPointerException,colocando comentarios en mi codigo encontre que el error esta en la parte de ...
  #1 (permalink)  
Antiguo 20/01/2008, 19:43
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 2 meses
Puntos: 3
Como solucionar error java.lang.NullPointerException

Hola,cuando intento ejecutar mi programa me arroja el error en ejecucion java.lang.NullPointerException,colocando comentarios en mi codigo encontre que el error esta en la parte de private JPanel getpanel(), si comento la linea panel.setLayout(null);,el programa se ejecuta,pero solo muestra el JLabel y no el JTextField y si saco el comentario sigue el error java.lang.NullPointerException.

Como puedo solucionar ese error y lograr que muestre el JTextField?
gracias

aca esta el error.
Código PHP:
private JPanel getpanel()
{
if (
panel == null) {    
panel.setLayout(null);
panel = new JPanel();
panel.add(getLabel_Rut());    
panel.add(getText_rut());
contenedor.add(panel);
}
return 
panel;    


Codigo completo
Código PHP:
package clases;

import javax.swing.JPanel;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JFrame;
import java.awt.Container;
import java.awt.Color;
import java.awt.event.*;

public class 
Formu extends JFrame
{
private 
JPanel panel=null;
private 
JButton BotonIngreso=null;
private 
JLabel Label_Rut=null;
private 
JLabel Label_Nombre=null;
private 
JTextField Text_rut=null;
private 
JTextField Text_nombre=null;
 private 
JPanel jPanel null;
Container contenedor=getContentPane();
    
public 
Formu()
{
    
inicio();
}    

private 
void inicio()
{
this.setTitle("Ingreso");    
this.setSize(300,300);    ;
getpanel();
}

private 
JPanel getpanel()
{
if (
panel == null) {    
panel.setLayout(null);
panel = new JPanel();
panel.add(getLabel_Rut());    
panel.add(getText_rut());
contenedor.add(panel);
}
return 
panel;    
}



private 
JLabel getLabel_Rut()
{
if (
Label_Rut == null) {    
Label_Rut=new JLabel("Rut:");
Label_Rut.setBounds100208026);
Label_Rut.setForeground(Color.BLACK);
Label_Rut.setBackground(Color.BLUE);
}    
return 
Label_Rut;
}

    
private 
JTextField getText_rut()
{
Text_rut=new JTextField();
Text_rut.setBounds1602010026);
Text_rut.setForeground(Color.BLACK);
Text_rut.setBackground(Color.BLUE);    
return 
Text_rut;
}      
}
//fin clase Formu 
Inicio
Código PHP:
package clases;
public class 
Inicio
{
public static 
void main(String[] args)
{
Formu f=new Formu();
f.setVisible(true);    
}    

  #2 (permalink)  
Antiguo 20/01/2008, 23:06
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Re: Como solucionar error java.lang.NullPointerException

Hola:

El problema es que panel es null y no puedes llamar a sus métodos, ya que no hay panel sobre el que llamarlos. Supongo que el código debería ser así

Código:
private JPanel getPanel()
{
   if (panel == null)
   {
      panel = new JPanel();
      panel.setLayout(null);
      ...
   }
   return panel;
}
Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 21/01/2008, 08:39
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 2 meses
Puntos: 3
Re: Como solucionar error java.lang.NullPointerException

Ya tengo el codigo con el panel,revisa bien mi primer post,deje el codigo completo,si saco esta parte panel.setLayout(null); del codigo funciona,pero solo muestra el label y no el JTextField,si dejo esa parte panel.setLayout(null); en mi codigo sale el error java.lang.NullPointerException

donde estara el problema?
gracias

Código PHP:
private JPanel getpanel() 

if (
panel == null) {     
panel.setLayout(null); 
panel = new JPanel(); 
panel.add(getLabel_Rut());     
panel.add(getText_rut()); 
contenedor.add(panel); 

return 
panel;     

  #4 (permalink)  
Antiguo 21/01/2008, 12:53
 
Fecha de Ingreso: febrero-2006
Mensajes: 446
Antigüedad: 18 años, 2 meses
Puntos: 3
Re: Como solucionar error java.lang.NullPointerException

Muchas gracias chuidiang,ahora me fije bien en tu respuesta y declaraba el setLayout sin haber creado el objeto JPanel,denante estaba apurado.
nuevamente gracias y ya me funciona.
  #5 (permalink)  
Antiguo 25/08/2010, 22:37
 
Fecha de Ingreso: agosto-2010
Mensajes: 1
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Como solucionar error java.lang.NullPointerException

buenas yo tengo un caso parecido hice este programa en java y me sale un error al correrlo, el programa corre pero al ejecutar alguna accion se termina y quiero saber si me pueden ayudar a detectar la falla aqui esta el codigo

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.text.*;// texto con atributos

public class AplicacionSwing5 extends JPanel implements ActionListener { //estamos trabajndo con un apnel no con un frame ni con un applet

private Style estiloMorado,estiloGris,estiloCeleste,estiloRojo,e stiloAzul;//style es una clase
private JTextPane texto;


public AplicacionSwing5() {
setLayout( new BorderLayout() );
JMenuBar menu = new JMenuBar();
JMenu stilo = new JMenu( "Estilo" );
menu.add( stilo );

JMenuItem mi = new JMenuItem( "Morado" );
stilo.add(mi);
mi.addActionListener(this);
mi = new JMenuItem( "Gris" );
stilo.add(mi);
mi.addActionListener(this);
mi = new JMenuItem( "Celeste" );
stilo.add(mi);
mi.addActionListener(this);
mi = new JMenuItem( "Rojo" );
stilo.add(mi);
mi.addActionListener(this);
mi = new JMenuItem( "Azul" );
stilo.add(mi);
mi.addActionListener(this);
add(menu, BorderLayout.NORTH);

StyleContext sc = new StyleContext(); //stylecontext cambia el estilo del texto
estiloMorado = sc.addStyle(null, null);
StyleConstants.setForeground( estiloMorado,Color.magenta );
estiloGris = sc.addStyle(null, null);
StyleConstants.setForeground( estiloGris,Color.gray );
StyleConstants.setFontSize( estiloGris,24 );
estiloCeleste = sc.addStyle(null, null);
StyleConstants.setForeground( estiloCeleste,Color.cyan );
estiloRojo = sc.addStyle(null, null);
StyleConstants.setForeground( estiloRojo,Color.red );
estiloAzul = sc.addStyle(null, null);
StyleConstants.setForeground( estiloAzul,Color.blue );

DefaultStyledDocument doc = new DefaultStyledDocument(sc);// crea un estilo de documento

JTextPane texto = new JTextPane(doc);
add(texto, BorderLayout.CENTER);
}

public void actionPerformed (ActionEvent e) {
Style estilo = null;
String color = (String) e.getActionCommand();//cual fue la opcion del menu que selecciono

if( color.equals( "Morado" ) ) {
estilo = estiloMorado;
} else if( color.equals( "Celeste" ) ) {
estilo = estiloCeleste;
} else if( color.equals( "Gris" ) ) {
estilo = estiloGris;
} else if( color.equals( "Rojo" ) ) {
estilo = estiloRojo;
} else if( color.equals( "Azul" ) ) {
estilo = estiloAzul;
}
texto.setCharacterAttributes (estilo, false);
}

public static void main( String argv[] ) {
JFrame app = new JFrame( "Tutorial de Java, Swing" );

app.addWindowListener( new WindowAdapter() { // para cerrar el proceso (quita rayito)
public void windowClosing( WindowEvent evt ){
System.exit( 0 );
}
} );
app.getContentPane().add( new AplicacionSwing5(),BorderLayout.CENTER );
app.setSize( 300,180 );

app.setVisible( true );
}
}
  #6 (permalink)  
Antiguo 26/08/2010, 06:03
 
Fecha de Ingreso: agosto-2010
Mensajes: 7
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Como solucionar error java.lang.NullPointerException

Hola mofe.

Intenta depurar y nos dices en que línea te da el error. Así nos será mas facil ayudarte.

Un saludo.
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 02:25.