Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/03/2010, 11:24
ramirezgn
 
Fecha de Ingreso: marzo-2010
Mensajes: 2
Antigüedad: 14 años, 1 mes
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