Java - Error Chorra

 
Vista:

Error Chorra

Publicado por EdgarTX (1 intervención) el 28/02/2007 16:39:31
Hola que tal?? mirar tengo un conflicto que debe de ser una chorrada, solo quiero que aparezca una ventana con 2 botones. al compilarlo todo ok, pero al ejecutar sale esto por consola.

Exception in thread "main" java.lang.NullPointerException
at java.awt.Container.addImpl(Container.java:1027)
at java.awt.Container.add(Container.java:352)
at BaseDatos.<init>(BaseDatos.java:20)
at BaseDatos.main(BaseDatos.java:28)
Press any key to continue...

El código es este.

import java.awt.*;
import java.awt.event.*;

public class BaseDatos extends Frame{

Button btnC,btnR;

public BaseDatos(){

btnC=new Button("Crear Tabla");
btnC=new Button("Rellenar Tabla");
add(btnC);
add(btnR);

}

public static void main(String[] args) {
// Create application frame.
BaseDatos frame = new BaseDatos();
frame.setVisible(true);
// Show frame

}
}

Gracias¡¡¡¡¡¡
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:Error Chorra

Publicado por The Emulator (14 intervenciones) el 28/02/2007 17:01:29
Hola

El error que mencionas se debe a que no estas instanciando el boton btnR nota que en tu codigo instancias dos veces el boton btnC y el error se debe a que tratas de agregar al Frame un boton que aun no existe.

btnC=new Button("Crear Tabla");
btnC=new Button("Rellenar Tabla");
add(btnC);
add(btnR);

La forma correcta seria
btnC=new Button("Crear Tabla");
btnR=new Button("Rellenar Tabla");
add(btnC);
add(btnR);

Pero como lo estas haciendo no funcionaria como queres ya que al agregar los botones al Frmae solo veras el ultimo control que uses en este caso seria el boton btnR quien ocuparia toda la pantalla y el boton btnC no se veria, la forma adecuada seria que utilizes contenedores (FlowLayout,BorderLayout,BoxLayout..........................)

Aqui te coloco un ejemplo para que se puedan ver los dos botones en pantalla y que estos no ocupen todo el espacio. incluyendo lo de darle un tamano a la ventana ya que como lo tienes solo se vera la barra de titulo pero nada mas

//****************************Comienza e codigo java aqui*******************************
import java.awt.*;
import java.awt.event.*;
import java.awt.Panel;
import java.awt.FlowLayout;

public class BaseDatos extends Frame{

Button btnC,btnR;
Panel pnlPanel;

public BaseDatos(){
this.setSize(200,200);
pnlPanel=new Panel(new FlowLayout());
this.add(pnlPanel);

btnC=new Button("Crear Tabla");
btnR=new Button("Rellenar Tabla");
pnlPanel.add(btnC);
pnlPanel.add(btnR);

}

public static void main(String[] args) {
// Create application frame.
BaseDatos frame = new BaseDatos();
frame.setVisible(true);
// Show frame

}
}
//****************************Fin codigo java aqui*******************************

Saludos
http://www.theemulator.tk
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:Error Chorra

Publicado por EdgarTX (1 intervención) el 28/02/2007 17:56:29
Muchisimas gracias, ya esta solucionado, ahora quiero añadirle los eventos, lo he hecho de la siguiente manera:

btnC.addActionListener(this);
btnR.addActionListener(this); //Lo he colocado debajo de donde los añado

y una vez cerrado el constructor he añadido el siguiente método.

public void ActionPerormed(ActionEvent ev)
{
if(ev.getActionCommand=="Crear Tabla")
{
//Instrucciones a realizar
}

if(ev.getActionCommand=="Rellenar Tabla")
{
//Instrucciones a realizar
}
}

pero me da el siguiente error al compilar:

--------------------Configuration: BaseDatos - JDK version 1.6.0 <Default> - <Default>--------------------
C:\Documents and Settings\SalaB 12\Escritorio\BaseDatos\src\BaseDatos.java:23: addActionListener(java.awt.event.ActionListener) in java.awt.Button cannot be applied to (BaseDatos)
btnC.addActionListener(this);
^
C:\Documents and Settings\SalaB 12\Escritorio\BaseDatos\src\BaseDatos.java:24: addActionListener(java.awt.event.ActionListener) in java.awt.Button cannot be applied to (BaseDatos)
btnR.addActionListener(this);
^
C:\Documents and Settings\SalaB 12\Escritorio\BaseDatos\src\BaseDatos.java:36: cannot find symbol
symbol : variable getActionCommand
location: class java.awt.event.ActionEvent
if(ev.getActionCommand=="Crear Tabla"){
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