Article View: es.comp.lenguajes.java
Article #459Duda b�sica de principiante
From: ggg
Date: Tue, 01 May 2007 05:44
Date: Tue, 01 May 2007 05:44
110 lines
5103 bytes
5103 bytes
Hola a todos.
Es la primera vez que participo en el foro. Soy novato absoluto en temas de
JAVA pero, de repente, me apeteci� meterme en este mundillo (tengo alguna
experiencia previa en programaci�n en otros lenguajes, siempre en plan
autodidacta y de aficionado: clipper, c, ensamblador, basic).
Empec� por descargarme de la web de Sun el ejecutable
jdk-6u1-windows-i586-p.exe que me instal� el JDK y el JRE 1.6.0_01. De
entrada me sorprendi� que no hubiera nada parecido a un "entorno de
desarrollo"; me refiero a un programa Windows que incorporara su editor
Java, compilador, entorno de ejecuci�n, etc. Si embargo, al seguir los
lentos pasitos de un cursillo de Java que me facilitaron me encontr� con que
pod�a empezar a andar usando como compilador el javac.exe que encontr� en la
carpeta BIN del JDK y como int�rprete el java.exe de la misma carpeta todo
ello desde una ventana de CMD (trabajo con Windows2000). As� consegu�
ejecutar el famoso "Hola Mundo", un programita transcrito de C para el
c�lculo del NIF y alguna otra cosilla algo m�s compleja, siguiendo el gui�n
del cursillo.
Ahora me encuentro en un punto en el que, desde un programa principal,
intento usar una clase compilada de forma independiente. Me sale un chorro
de errores que empieza por:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
at Sondeo1.handleEvent(Sondeo1.java:30)
at java.awt.Window.postEvent(Window.java:2438)
at java.awt.Component.postEvent(Component.java:4707)
at java.awt.Component.dispatchEventImpl(Component.java:4426)
at java.awt.Component.dispatchEvent(Component.java:4240)
at
java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1848
)
at
java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocu
sManager.java:869)
at
java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManag
er.java:501)
at java.awt.Component.dispatchEventImpl(Component.java:4282)
Intuyo que el problema tiene que ver con la famosa "m�quina virtual Java",
que creo que no est� arrancada, no s� en que consiste ni como se arranca y
supongo que es la responsable de realizar el enlace din�mico entre las dos
clases.
Los c�digos fuente son:
Clase principal: Sondeo1.java
-------------------------------
import java.awt.*;
public class Sondeo1 extends Frame{
Button si;
Button no;
Label comentario;
Label mostrarResultado;
Contador miContador;
public Sondeo1(){
comentario = new Label("�Te gusta este ejemplo?", Label.CENTER);
add ("North", comentario);
si = new Button("SI");
add ("East", si);
no = new Button("NO");
add ("West", no);
mostrarResultado = new Label("No puedo contestar", Label.CENTER);
add ("South", mostrarResultado);
}
public static void main (String args[]){
Sondeo1 miSondeo = new Sondeo1();
miSondeo.setTitle("Sondeo");
miSondeo.pack();
miSondeo.show();
}
public boolean handleEvent(Event evt){
if (evt.id == Event.WINDOW_DESTROY){System.exit(0);}
else if (evt.target == si){
miContador.si();
mostrarResultado.setText(miContador.MostrarContador());
}
else if (evt.target == no){
miContador.no();
mostrarResultado.setText(miContador.MostrarContador());
}
return super.handleEvent(evt);
}
}
Clase llamada: Contador.java
------------------------------
public class Contador extends Object{
int numSi;
int numNo;
public Contador(){numSi = 0; numNo = 0;}
void si(){numSi++;}
void no(){numNo++;}
String MostrarContador(){
StringBuffer cadena = new StringBuffer();
cadena.append(numSi*100/(numSi+numNo));
cadena.append("% de gente que le gusta");
return cadena.toString();
}
}
Si alguien puede orientarme le estar� muy agradecido.
Saludos,
GGG
Technical Details
Message-ID:
<f16k1v$cc8$1@nsnmpen2-gest.nuria.telefonica-data.net>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!proxad.net!proxad.net!ecngs!feeder.ecngs.de!newsfeed.freenet.de!fu-berlin.de!nsnmpen1-lo.nuria.telefonica-data.net!nsnmpen2-lo.nuria.telefonica-data.net!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Thread: 1116f3,96e3bd286451c320,start X-Google-Attributes: gid1116f3,public X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news3.google.com!proxad.net!proxad.net!ecngs!feeder.ecngs.de!newsfeed.freenet.de!fu-berlin.de!nsnmpen1-lo.nuria.telefonica-data.net!nsnmpen2-lo.nuria.telefonica-data.net!not-for-mail From: "ggg" <ggg@mixmail.com> Newsgroups: es.comp.lenguajes.java Subject: Duda b�sica de principiante Date: Tue, 1 May 2007 07:44:21 +0200 Organization: Telefonica Data Espagna Lines: 112 Message-ID: <f16k1v$cc8$1@nsnmpen2-gest.nuria.telefonica-data.net> NNTP-Posting-Host: 27.red-80-38-213.staticip.rima-tde.net X-Trace: nsnmpen2-gest.nuria.telefonica-data.net 1177998209 12680 80.38.213.27 (1 May 2007 05:43:29 GMT) X-Complaints-To: usenet@nsnmpen2-gest.nuria.telefonica-data.net NNTP-Posting-Date: Tue, 1 May 2007 05:43:29 +0000 (UTC) X-Priority: 3 X-MSMail-Priority: Normal X-Newsreader: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000