Null Pointer Exception

De nuevo con Problemas y esta vez es con la excepción Null Pointer Exception, resulta que estoy haciendo un applet que me muestre tres campos para insertar cuenta, cliente y saldo, y que me cree un objeto cuenta y me lo muestre en el applet en un TextArea, la verdad es que yo apenas estoy comenzando con la POO y no se como quitar esa excepción. Me abre el applet, me muestra los label, text, botón, pero el fondo de applet sale transparente. Y siguiente me muestra el Null Pointer Exception.
En lo que me puedas ayudar de nuevo mil gracias.
Este es el código de el applet y el de la clase Cuenta.
import java.awt.*;
import java.awt.Graphics;
import java.applet.*;
import java.awt.event.*;
// <applet width="380" height="400" code="AppletMetodos"></applet>
public class AppletMetodos extends Applet implements ActionListener {
Label l1, l2, l3,l4;
TextField t1, t2, t3;
TextArea tA;
Button b;
Cuenta c;
public AppletMetodos() {
l1 = new Label("Numero de Cuenta");
t1 = new TextField(50);
l2 = new Label("Nombre del Cliente");
t2 = new TextField(50);
l3 = new Label("Saldo del Cliente");
t3 = new TextField(50);
l4 = new Label("Resultado");
//tA = new TextArea();
b = new Button("Despliega Cuenta");
add(l1);
add(t1);
add(l2);
add(t2);
add(l3);
add(t3);
add(b);
add(l4);
add(tA);
b. AddActionListener(this);
}
public void actionPerformed(ActionEvent ae) {
double saldo = Double.parseDouble(t1.getText());
double numCuenta = Double.parseDouble(t2.getText());
String cliente = t3.getText();
c = new Cuenta(saldo, numCuenta, cliente);
tA.setText("" + c);
repaint();
}
public void paint(Graphics g) {
c.dibujaCuenta(g);
}
}
ESTA ES LA CLASE CUENTA
import java.awt.Graphics;
public class Cuenta {
private double saldo = 0.0; // variable para el sald
private double numCuenta = 0.0; // variable para el numero de cuenta
private String cliente = ""; // variable para el nombre del cliente
public Cuenta() { // método para construir un objeto sin parámetros
saldo = 0.0;
numCuenta = 0.0;
cliente = "";
}
// método para construir un objeto con parámetros
public Cuenta(double saldo , double numCuenta, String cliente) {
this.saldo = saldo;
this.numCuenta = numCuenta;
this.cliente = cliente;
}
public double obtenSaldo() { // método que te dá el valor del saldo
return saldo;
}
public double obtenCuenta() { // método que te dá el valor de la cuenta
return numCuenta;
}
public String obtenCliente() { // método que te dá el nombre del cliente
return cliente;
}
// método que sirve para cambiar el valor //del saldo
public void cambiaSaldo(double saldo) {
this.saldo = saldo; // this se utiliza porque se esta utilizando (saldo)
// como parámetro y como
// variable de instancia y esto es para que no se confunda
}
// método que te sirve para cambiar el valor de la cuenta
public void cambiaCuenta(double numCuenta) {
this.numCuenta = numCuenta; // this se utiliza porque se esta utilizando (numCuenta)
//como parámetro y como
// variable de instancia y esto es para que no se confunda Java
}
// método que te sirve para cambiar el nombre del cliente
public void cambiaCliente(String cliente) {
this.cliente = cliente; // this se utiliza porque se esta utilizando (Cliente)
//como parámetro y como
// variable de instancia y esto es para que no se confunda Java
}
public void dibujaCuenta(Graphics g) {
//tA.setText("" + saldo + numCuenta + cliente);
g.drawString("" + obtenSaldo() + obtenCuenta() + obtenCliente(),80,250);
}
}
Respuesta
1
Puede ser porque tu llamas a un objeto Cuenta en el método paint pero solo lo creas en el manejador del evento. El método paint se llama al crearse el applet.
Haz una cosa, construye el objeto Cuenta cuando lo declaras al principio del applet y luego en el manejador le das los valores.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas