🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

���Axilio!!! Esto no funciona como applet

#26171
From: Rafael Aranguren
Date: Sat, 06 Feb 1999 00:00
283 lines
7645 bytes
Saludos a todos los que me leais, soy nuevo en este foro y tambien en la
programaci�n java, tengo un problemilla con un programilla.

Vereis:

    Este programa me funciona con aplicaci�n standalone pero no como Applet
no tengo ni idea de por que, si alguien puede echarle un vistazo se lo
agradecer�a

    Tambien me gustaria saber como puedo conseguir que mis clases se
convirtan en un archivo ejecutable exe.

    Aqu� teneis el c�digo, si he hecho alguna burrado os ruego que me
perdoneis soy nuevo y no tengo mucha esperiencia, gracias y un saludo.

    Espero vuestras respuestas.

import java.awt.*;
import java.io.*;
import java.net.*;

class ventana extends Frame{

  TextArea texto;
  Button Aceptar;
  TextField field1;

  // para guardar el nombre del archivo que selecionamos
  String nombre_archivo;

  // para saber si estamos en un applet o no
  boolean estoesapplet;

  //defino la barra de menus
  MenuBar barramenu;
  //defino 2 menus; uno para el menu de Archivo y otro para el menu de Edit
  Menu abrir;
  Menu edit;

  //items del menu abrir
  MenuItem archivo_abrir;
  MenuItem archivo_guardar;
  MenuItem archivo_salir;

  //items del munu Edit
  MenuItem edit_cortar;
  MenuItem edit_copiar;
  MenuItem edit_pegar;
  MenuItem edit_selectall;

  //buffer donde guardamos el texto que selecionamos, copiamos etc...
  String buffer;

  //para controlar que ha habido cambios en el documento
  boolean cambiado;

  //constructor de la clase ventana
  ventana(boolean esapplet){

   super("Ver Codigo URL");

   estoesapplet = esapplet;

   barramenu = new MenuBar();

   abrir = new Menu("&Archivo");
    archivo_abrir   = new MenuItem("&Abrir");
    archivo_guardar = new MenuItem("&Guardar");
    archivo_salir   = new MenuItem("&Salir");
    abrir.add(archivo_abrir);
    abrir.add(archivo_guardar);
    abrir.add(archivo_salir);

   edit  = new Menu("&Edit");
    edit_cortar = new MenuItem("&Cortar");
    edit_copiar = new MenuItem("&Copiar");
    edit_pegar  = new MenuItem("&Pegar");
    edit_selectall = new MenuItem("&Select All");
    edit.add(edit_cortar);
    edit.add(edit_copiar);
    edit.add(edit_pegar);
    edit.add(edit_selectall);
       edit_pegar.disable();

   barramenu.add(abrir);
   barramenu.add(edit);

   Panel panelalto = new Panel();
   Label label1 = new Label("INTRODUCE LA URL");
   field1 = new TextField(50);
   panelalto.add("West", label1);
   panelalto.add("East", field1);
   add("North",panelalto);

   Panel panelbajo = new Panel();
   texto = new TextArea(18,80);
   panelbajo.add("Center", texto);
   add("South",panelbajo);

   Panel panelmedio = new Panel();
   Aceptar = new Button("Aceptar");
   panelmedio.add("Center", Aceptar);
   add("Center",panelmedio);
   setMenuBar(barramenu);

   resize(400,400);
   pack();
   show();
  }

  public void cargar_archivo(){

   String linea = null;
   FileInputStream fptr;
   DataInputStream f;
   FileDialog fd = new FileDialog(this,"Abrir...",FileDialog.LOAD);
   fd.show();
   nombre_archivo = fd.getFile();

   try{
    fptr = new FileInputStream(nombre_archivo);
    f    = new DataInputStream(fptr);
    texto.setText(""); //vacio el area de texto por si tiene restos
anteriores

    do{
     linea = f.readLine();
     if (linea != null){
      texto.appendText(linea+"\n");
     }
      } while (linea != null);

    fptr.close();
    cambiado = true;
   }

   catch (FileNotFoundException e){

    new Error14("El archivo selecionado no Existe");
   }

   catch (IOException e){
    new Error14("Error leyendo el Archivo");
   }

   catch (NullPointerException e){
    ;
   }
  }

  //para guardar el archivo
  public void guardar_archivo(){
   FileOutputStream fptr;
   DataOutputStream f;
   FileDialog fd = new FileDialog(this,"Guardar...",FileDialog.SAVE);
   fd.setFile(nombre_archivo);
   fd.show();
   nombre_archivo = fd.getFile();
   try{
    fptr = new FileOutputStream(nombre_archivo);
    f = new DataOutputStream(fptr);
    f.writeBytes(texto.getText());
    fptr.close();
    cambiado = false;
   }
   catch (IOException e){
    new Error14("Error grabando el archivo!");
   }
   catch (NullPointerException e){
    ;
   }
  }

  //para sacar en el area de texto de la ventan linea a linea
  //el contenido de las paginas que visitamos
  public void visualizar(String p){

   texto.appendText(p + "\n");
  }

  //conectamos con la direccion url que nos pasan como parametro en la
llamada
  //a la funcioin
  public void conectar(String direccion){
   String s;
   try

    URL url = new URL (direccion);
    URLConnection conex = url.openConnection();
    s = new String("cargando...." + url + "\n");
    visualizar(s);
    DataInputStream datos = new DataInputStream(conex.getInputStream());
    do {
     s = datos.readLine();
     if (s != null) visualizar(s);
     } while (s != null);
    cambiado = true;
   }
   catch (ArrayIndexOutOfBoundsException e) {
    System.out.println("Sintaxis: java Ejemplo25 <url>");
   }
      catch (UnknownHostException e) {
    visualizar("El host no existe o no responde");
   }
      catch (Exception e) {
       e.printStackTrace();
   }
    }

  public boolean handleEvent(Event e){

   // si se cierra la ventan
   if ((e.id == Event.WINDOW_DESTROY)||(e.target == archivo_salir)){

    if (estoesapplet) dispose();
    else System.exit(0);
   }

   //si se localiza el evento en el boton Aceptar
   if (e.target == Aceptar){

    texto.setText("");
    String o = field1.getText();
    conectar(o);
   }

   //si se localiza el evento sobre el menuitem abrir
   if (e.target == archivo_abrir){

    cargar_archivo();
   }

   //si se localiza el evento sobre el menuitem guardar
   if ((e.target == archivo_guardar) && (cambiado == true)){

    guardar_archivo();
   }
   if (e.target == edit_cortar){

    buffer = texto.getSelectedText();
    texto.replaceText("",texto.getSelectionStart(),
texto.getSelectionEnd());
    edit_pegar.enable();
    cambiado = true;
   }
   if (e.target == edit_copiar){
    buffer = texto.getSelectedText();
    cambiado = true;
    edit_pegar.enable();
   }
   if (e.target == edit_pegar){
    cambiado = true;
    texto.replaceText("",texto.getSelectionStart(),
texto.getSelectionEnd());
    texto.insertText(buffer,texto.getSelectionStart());
   }
   if ((e.target == texto) && (e.id == Event.KEY_PRESS)){
    cambiado = true;
   }
   if (e.target == edit_selectall){
    texto.selectAll();
    edit_pegar.enable();
   }

   return super.handleEvent(e);
  }
}

  //clase para mostrar los errores

  class Error14 extends Frame{
   Error14(String error){
    add("Center",new Label(error));
    add("South",new Button("OK"));
    pack();
    show();
   }

   public boolean handleEvent(Event e){
    dispose();
    return super.handleEvent(e);
			}
		}
Technical Details
Message-ID: <79i9vt$d1r$1@lola.ctv.es>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: 1116f3,ba0bdd590edb0593,start
X-Google-Attributes: gid1116f3,public
From: "Rafael Aranguren" <rafaaranguren@jet.es>
Subject: ���Axilio!!! Esto no funciona como applet
Date: 1999/02/06
Message-ID: <79i9vt$d1r$1@lola.ctv.es>
X-Deja-AN: 441462584
X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4
X-Complaints-To: usenet@lola.ctv.es
X-Trace: lola.ctv.es 918334269 13371 195.55.161.10 (6 Feb 1999 20:51:09 GMT)
Organization: CTV/JET
NNTP-Posting-Date: 6 Feb 1999 20:51:09 GMT
Newsgroups: es.comp.lenguajes.java