Foros del Web » Programación para mayores de 30 ;) » Java »

Ayuda con Applet. Heredar clase

Estas en el tema de Ayuda con Applet. Heredar clase en el foro de Java en Foros del Web. Hola amigos... tengo un pequeño problema con un Applet de Java... Trato de ejecutar una aplicacion externa y cuando corro la aplicacion en el netBeans ...
  #1 (permalink)  
Antiguo 11/03/2010, 11:24
 
Fecha de Ingreso: marzo-2010
Mensajes: 2
Antigüedad: 14 años
Puntos: 0
Pregunta Ayuda con Applet. Heredar clase

Hola amigos... tengo un pequeño problema con un Applet de Java...

Trato de ejecutar una aplicacion externa y cuando corro la aplicacion en el netBeans (IDE) si la ejecuta y todo muy bie. Ahora el problema es cuando lo hago en una pagina web que me marca errores y ya me he dado vueltas y no encuentro la solucion,,,,

dejo mi codigo fuente de la clase de java para que lo revisen,,,

Código:
package ejecutar;

import java.*;
import java.io.File.*;
import java.applet.Applet;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

public class Main extends Applet{
    public Main(String comando){

        try{
            Runtime rt = Runtime.getRuntime();
            System.out.println("Execing " + comando);
            Process proc = rt.exec(comando);
            // any error message?
            StreamGobbler errorGobbler = new StreamGobbler(proc.getErrorStream(), "ERROR");

            // any output?
            StreamGobbler outputGobbler = new StreamGobbler(proc.getInputStream(), "OUTPUT");

            // kick them off
            errorGobbler.start();
            outputGobbler.start();

            // any error???
            int exitVal = proc.waitFor();
            System.out.println("ExitValue: " + exitVal);

            rt.runFinalization();
        }

     catch (Throwable t){
         t.printStackTrace();
     }
}
    public class StreamGobbler extends Thread {
                InputStream is;
                String type;

                StreamGobbler(InputStream is, String type) {
                        this.is = is;
                        this.type = type;
                }

                public void run() {
                        try {
                            InputStreamReader isr = new InputStreamReader(is);
                            BufferedReader br = new BufferedReader(isr);
                            String line = null;
                            while ((line = br.readLine()) != null)
                                    System.out.println(type + ">" + line);
                        }

                        catch (IOException ioe) {
                                ioe.printStackTrace();
                        }
                }
        }


    public static void main(String[] args) {
        Main aplicacion = new Main("c:\\prueba\\ejecutar.bat");
//        aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    }

}
y aki les dejo el error que me marca la consola de java del navegador...

Código:
java.lang.reflect.InvocationTargetException
	at com.sun.deploy.util.DeployAWTUtil.invokeAndWait(Unknown Source)
	at sun.plugin2.applet.Plugin2Manager.runOnEDT(Unknown Source)
	at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.RuntimeException: java.lang.InstantiationException: ejecutar.Main
	at sun.plugin2.applet.Plugin2Manager$12.run(Unknown Source)
	at java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: java.lang.InstantiationException: ejecutar.Main
	at java.lang.Class.newInstance0(Unknown Source)
	at java.lang.Class.newInstance(Unknown Source)
	... 9 more
Excepción: java.lang.reflect.InvocationTargetException
java.lang.NullPointerException
	at sun.plugin2.applet.Plugin2Manager.findAppletJDKLevel(Unknown Source)
	at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Excepción: java.lang.NullPointerException
y asi tengo los archivos de la clase en una carpeta en c:\ ...

Main.html
ejecutar\Main.class
ejecutar\Main$StreamGobbler.class


espero que puedan ayudarme... saludos y hasta luego
  #2 (permalink)  
Antiguo 12/03/2010, 09:04
Avatar de pablor21  
Fecha de Ingreso: noviembre-2008
Ubicación: Montevideo - Uruguay
Mensajes: 197
Antigüedad: 15 años, 4 meses
Puntos: 13
Respuesta: Ayuda con Applet. Heredar clase

hola, al parecer tienes problemas con el plugin de java en tu navegador, quizàs deberìas actualizarlo, seguro que funciona bien?
__________________
Desarrolloador Freelance - http://www.mvdit.com.uy
  #3 (permalink)  
Antiguo 12/03/2010, 11:08
 
Fecha de Ingreso: marzo-2010
Mensajes: 2
Antigüedad: 14 años
Puntos: 0
Sigo si entender el error....

Lo he probado en Firefox y IE8 y en los dos me marca el mismo error

.. no se cual pueda ser el problema...

Etiquetas: applet, class, classes, sun
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:32.