Article View: es.comp.lenguajes.java
Article #26035NECESITO AYUDA PLEASE
From: Rafael Aranguren
Date: Sun, 07 Feb 1999 00:00
Date: Sun, 07 Feb 1999 00:00
283 lines
7614 bytes
7614 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:
<79kufb$kfh$1@lola.ctv.es>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: 1116f3,617c0093bf4e8734,start X-Google-Attributes: gid1116f3,public From: "Rafael Aranguren" <rafaaranguren@jet.es> Subject: NECESITO AYUDA PLEASE Date: 1999/02/07 Message-ID: <79kufb$kfh$1@lola.ctv.es> X-Deja-AN: 441771150 X-MimeOLE: Produced By Microsoft MimeOLE V4.72.2106.4 X-Complaints-To: usenet@lola.ctv.es X-Trace: lola.ctv.es 918420779 20977 195.55.158.69 (7 Feb 1999 20:52:59 GMT) Organization: CTV/JET NNTP-Posting-Date: 7 Feb 1999 20:52:59 GMT Newsgroups: es.comp.lenguajes.java