Java - Porque no funciona ?

 
Vista:

Porque no funciona ?

Publicado por diogenes (16 intervenciones) el 25/10/2002 15:22:32

Tengo el siguiente objetivo en mente poder capturar un dato a traves de un campo de texto (TextField), para ello he definido lo que paso a mostrar a continuacion y que solo es parte del programa, y donde a partir del evento de activacion del boton pretendo capturar el texto del campo y llevarlo a una variable pero cuando lo ejecuto con el appletviewer me sale un largo comentario de error que dice asi.

==
Exception ocurred during event dispatching;
java.lang.NullPointerException:

at SoLong.action(Solong.java:126)
at java.awt.Component.handleEvent(Component.java, Compiled Code)

==

y que continua con una descripcion parecida a las ultima linea en las proximas lineas..

Este es parte del programa, donde he procurado colocar solamente el codigo que interviene en el problema

==
import java.awt.*;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.FontMetrics;

public class SoLong extends java.applet.Applet {

Button Buttonokb,open,close;
Font tit = new Font("Courier", Font.BOLD, 18);
Font nor = new Font("Arial", Font.PLAIN, 10);
String lolo;
TextField tfname;

void buildConstraints(GridBagConstraints gbc, int gx, int gy,
int gw, int gh, int wx, int wy) {
gbc.gridx = gx;
gbc.gridy = gy;
gbc.gridwidth = gw;
gbc.gridheight = gh;
gbc.weightx = wx;
gbc.weighty = wy;

}

public void init() {

GridBagLayout gridbag = new GridBagLayou
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Porque no funciona ?

Publicado por gabriel (38 intervenciones) el 25/10/2002 20:25:01
mmm, no se si es que no pusiste todo o que no me termina de bajar pqeo no llego a ver en el codigo que pusiste la linea de codigo con el error para poder seguirlas para atras. Pero lo que tenes claramente es un null pointer. Una posibilidad es que cuando haces el getText() del textfield si no le escribiste nada devuelve null y eso tiene que estar controlado con un if. Pero si es alguna otra variable al que no le hiciste un new o lo que sea no lose porque no veo en realidad ni cual es la que te tira el null pointer. Podes revisar eso y ver si en algun momento fue otra cosa que un null y ahi vas a encontrar el problema.
Saludos
Gabriel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Porque no funciona ?

Publicado por diogenes (16 intervenciones) el 25/10/2002 22:46:20

Aqui va el resto del codigo que no aparecio en el texto anterior

==
public void init() {

GridBagLayout gridbag = new GridBagLayout();
GridBagConstraints constraints = new GridBagConstraints();
setLayout(gridbag);

//campo de texto de nombre
buildConstraints(constraints, 1, 1, 1, 1, 0, 0);
constraints.fill = GridBagConstraints.HORIZONTAL;
TextField tfname = new TextField(20);
gridbag.setConstraints(tfname, constraints);
add(tfname);

//boton OK
buildConstraints(constraints, 0, 3, 3, 1, 0, 15);
constraints.fill = GridBagConstraints.NONE;
constraints.anchor = GridBagConstraints.CENTER;
Buttonokb = new Button(" Aceptar ");
gridbag.setConstraints(Buttonokb, constraints);
add(Buttonokb);

public boolean action(Event evt, Object arg) {
if (evt.target instanceof Button) {
lolo = tfname.getText();
System.out.println(lolo);
return true;
}
return false;
}

}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar