🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.lenguajes.java
Article #463

Re: Duda b�sica de principiante

#463
From: ggg
Date: Wed, 02 May 2007 09:58
137 lines
5818 bytes
Hola.

Ya lo averig��.
Y tal como pod�a imaginarse era un error de principiante (tambi�n
relacionado con la forma "incremental" de aumentar la complejidad del
ejercicio).

Me faltaba "instanciar" el objeto miContador. Lo he resuelto a�adiendo la
l�nea
      miContador = new Contador();
despu�s de
      add ("South", mostrarResultado);

Saludos,

GGG
"ggg" <ggg@mixmail.com> escribi� en el mensaje
news:f16k1v$cc8$1@nsnmpen2-gest.nuria.telefonica-data.net...
> 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: <f19nav$3es$1@nsnmpen2-gest.nuria.telefonica-data.net>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!fu-berlin.de!nsnmpen1-lo.nuria.telefonica-data.net!nsnmpen2-lo.nuria.telefonica-data.net!not-for-mail
References: <f16k1v$cc8$1@nsnmpen2-gest.nuria.telefonica-data.net>

Show Full Headers
Complete Article Headers
X-Google-Thread: 1116f3,96e3bd286451c320
X-Google-Attributes: gid1116f3,public
X-Google-Language: SPANISH,ASCII
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!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: Re: Duda b�sica de principiante
Date: Wed, 2 May 2007 11:58:52 +0200
Organization: Telefonica Data Espagna
Lines: 139
Message-ID: <f19nav$3es$1@nsnmpen2-gest.nuria.telefonica-data.net>
References: <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 1178099873 3548 80.38.213.27 (2 May 2007 09:57:53 GMT)
X-Complaints-To: usenet@nsnmpen2-gest.nuria.telefonica-data.net
NNTP-Posting-Date: Wed, 2 May 2007 09:57:53 +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