Debe introducir al menos 3 caracteres en el buscador.
Inicio / Wikis / Cursos gratis / Java partiendo de Cero - VOLVIENDO AL AWT

Java partiendo de Cero - VOLVIENDO AL AWT

 ****- (61 opiniones)
Copyright Curso gratis de Jorge Bourdette - 26 de Agosto de 2005
Temas Relacionados: JavaProgramación web
49. VOLVIENDO AL AWT
Para aprender un poquito más sobre la biblioteca gráfica (AWT), vamos a modificar nuestro último programa para usar menús.

Vamos a volver a poner todo el código (que ampliamos para usar como applet o aplicación local) marcando las diferencias más notables:


/*

Archivo: Ejemplo14.java */

import java.io.*;
import java.awt.*;
import java.applet.*;

public class Ejemplo14 extends Applet {

public void init() {
new Ventana14(true); con "true" avisamos que es applet
}

public static void main(String args[]) { para usarlo como aplicación
Ventana14 v14 = new Ventana14(false);
con "false" avisamos que no es applet
}
}

/*

Esta clase es la que en realidad hace el trabajo */

class Ventana14 extends Frame {

TextArea contenido;
boolean enApplet;
para indicar si lo llamamos como applet
String nombreArchivo; para guardar el nombre del archivo abierto
MenuItem mArchivoAbrir;
ACA ESTAN LOS ITEMS DE LOS MENUS
MenuItem mArchivoGrabar; .
MenuItem mArchivoSalir;
.
MenuItem mEditCortar; .
MenuItem mEditCopiar;
.
MenuItem mEditPegar; .
MenuItem mEditTodo;
v
String clipboard; buffer para cortar y pegar
boolean editado = false;
acá indicamos si modificamos el archivo

Ventana14(boolean enApp) {

super("Ejemplo de E/S");
enApplet = enApp; recordamos si es applet o no

Menu menuArchivo = new Menu("&Archivo");
CREAMOS LOS MENUS!!!
mArchivoAbrir = new MenuItem("&Abrir...");
mArchivoGrabar = new MenuItem("&Grabar...");
mArchivoSalir = new MenuItem("&Salir");
menuArchivo.add(mArchivoAbrir);
menuArchivo.add(mArchivoGrabar);
menuArchivo.add(new MenuItem("-"));
menuArchivo.add(mArchivoSalir);

Menu menuEdit = new Menu("&Edit");
mEditCortar = new MenuItem("Cor&tar");
mEditCopiar = new MenuItem("&Copiar");
mEditPegar = new MenuItem("&Pegar");
mEditTodo = new MenuItem("&Seleccionar todo");
menuEdit.add(mEditCortar);
menuEdit.add(mEditCopiar);
menuEdit.add(mEditPegar);
menuEdit.add(new MenuItem("-"));
menuEdit.add(mEditTodo);

MenuBar barraMenu = new MenuBar();
barraMenu.add(menuArchivo);
barraMenu.add(menuEdit);
setMenuBar(barraMenu);

contenido = new TextArea(); solo pongo una ventana de texto
add("Center",contenido);
pack();
show();

clipboard = new String();** // clipboard vacío, ** mEditPegar.disable();** // nada para pegar, ** mArchivoGrabar.disable();** // nada para grabar } public boolean handleEvent(Event e) { if ((e.id==Event.WINDOW_DESTROY)||(**e.target==mArchivoSalir**)) { **if (editado) System.out.println("Pedir confirmación!\n");** // debería confirmar // si se quiere ir sin grabar! if (enApplet) dispose(); else System.exit(0); } ** if (e.target==mArchivoAbrir) CargarArchivo();** // acá proceso selecciones ** if (e.target==mArchivoGrabar) GrabarArchivo();** // de menú ** if (e.target==mEditCortar) { clipboard = contenido.getSelectedText(); mEditPegar.enable(); contenido.replaceText(,contenido.getSelectionStart(),contenido.getSelectionEnd());
editado=true;
}
if (e.target
mEditCopiar) { clipboard = contenido.getSelectedText();
mEditPegar.enable();
}
if (e.target
mEditPegar) {
contenido.replaceText(,contenido.getSelectionStart(),contenido.getSelectionEnd()); contenido.insertText(clipboard,contenido.getSelectionStart()); editado=true; } if (e.target==mEditTodo) contenido.selectAll(); if ((e.id==Event.KEY_PRESS)&&(e.target==contenido)) editado=true; mArchivoGrabar.enable(editado); ** return super.handleEvent(e); } void CargarArchivo() { FileInputStream fptr; DataInputStream f; ** String linea = null; if (editado) System.out.println("Pedir confirmación!\n"); ** **FileDialog fd = new FileDialog(this,"Abrir...",FileDialog.LOAD);** // elijo archivo ** fd.show();** // usando el diálogo estándar del sistema! ** nombreArchivo = fd.getFile(); ** try { fptr = new FileInputStream(nombreArchivo); f = new DataInputStream(fptr); **contenido.setText(); vacío la ventana antes de cargar nuevo archivo
do {
linea = f.readLine();
if (linea!=null) contenido.appendText(linea+"\n");
} while (linea != null);
fptr.close();
editado=false; archivo nuevo -> no editado
}
catch (FileNotFoundException e) {
new Error14("El archivo no existe!");
}
catch (IOException e) {
new Error14("Error leyendo archivo!");
}
catch (NullPointerException e) {
;
}
}

void GrabarArchivo() {
FileOutputStream fptr;
DataOutputStream f;
FileDialog fd = new FileDialog(this,"Grabar...",FileDialog.SAVE);
grabo archivo
fd.setFile(nombreArchivo); usando el diálogo estándar del sistema!
fd.show();
nombreArchivo = fd.getFile();
try {
fptr = new FileOutputStream(nombreArchivo);
f = new DataOutputStream(fptr);
f.writeBytes(contenido.getText());
fptr.close();
editado=false;
recién grabado -> no editado
}
catch (IOException e) {
new Error14("Error grabando archivo!");
}
catch (NullPointerException e) {
;
}
}
}

/*

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);
}
}
Tabla de contenidos
  1. 1 - JAVA DESDE CERO
  2. 2 - Qué es Java
  3. 3 - Lenguaje de Objetos
  4. 4 - Independiente de la plataforma
  5. 5 - Algunas características
  6. 6 - El Java Development Kit
  7. 7 - EMPECEMOS DE UNA VEZ!
  8. 8 - Javascript
  9. 9 - Al fin. Java!
  10. 10 - LAS CLASES EN JAVA
  11. 11 - Estructura de una clase
  12. 12 - ESTRUCTURA DE CLASES
  13. 13 - Declaración de la clase
  14. 14 - El cuerpo de la clase
  15. 15 - EL CUERPO DE LOS MÉTODOS
  16. 16 - Declaración de variables locales
  17. 17 - Asignaciones a variables
  18. 18 - Operaciones matematicas
  19. 19 - Llamadas a métodos
  20. 20 - LAS ESTRUCTURAS DE CONTROL
  21. 21 - if.[else]
  22. 22 - Switch.case.brake.default
  23. 23 - While
  24. 24 - Do.while
  25. 25 - For
  26. 26 - Break y continue
  27. 27 - Otras...
  28. 28 - HAGAMOS ALGO...
  29. 29 - La clase Complejo
  30. 30 - Algo sobre los métodos
  31. 31 - JAVA A TRAVÉS DE LA VENTANA
  32. 32 - Nuestra primera ventana
  33. 33 - Un poco de detalle
  34. 34 - Y los eventos...
  35. 35 - UNA VENTANA CON VIDA
  36. 36 - Viajando con Java
  37. 37 - Preparando listas
  1. 38 - Agregando fechas
  2. 39 - Juntando todo hasta aquí
  3. 40 - COMPLETANDO LA VENTANA
  4. 41 - Un poquito de actividad
  5. 42 - Y para terminar...
  6. 43 - Finale con tutto
  7. 44 - UN PARÉNTESIS DE ENTRADA/SALIDA
  8. 45 - Primera Lectura
  9. 46 - Capturando excepciones
  10. 47 - Los applets y los archivos
  11. 48 - Nuestro modesto "Editor"
  12. 49 - VOLVIENDO AL AWT
  13. 50 - Menú a la Java
  14. 51 - Dialogos
  15. 52 - DIBUJAVA
  16. 53 - Canvas en acción
  17. 54 - El applet-container
  18. 55 - Nuestro Canvas a medida
  19. 56 - DIBUJAVA II
  20. 57 - Vectores en acción
  21. 58 - Flicker molesto!
  22. 59 - Anímate!
  23. 60 - JAVA EN HEBRAS
  24. 61 - Los pasos basicos
  25. 62 - Reunión de amigos
  26. 63 - Creando Threads
  27. 64 - Y los applets...?
  28. 65 - LA LIEBRE Y LA TORTUGA (Y EL GUEPARDO)
  29. 66 - Sincronicemos los relojes
  30. 67 - Mas sincronización
  31. 68 - MULTIMEDIA!
  32. 69 - Parametrizando un applet
  33. 70 - PASEANDO POR LA RED
  34. 71 - Los Sockets
  35. 72 - Un servidor atento
  36. 73 - El cliente satisfecho
Autor y licencia de 'Java partiendo de Cero - VOLVIENDO AL AWT'
Jorge Bourdette Extraído de: http://www.publispain.com/supertutoriales Copyright
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.

Wikis relacionados con 'Java partiendo de Cero - VOLVIENDO AL AWT'

Amplio tutorial de Java para empezar a trabajar y ampliar conocimientos de este lenguaje.
En el mundo de los Incas, Mayas y Aztecas, el tiempo no es concebido proceder... Más »
Partiendo del cine mudo como documento histórico y subrayando el valor artístico de la música... Más »
Partiendo de la idea de que un cambio en la mentalidad mundial incide directamente en... Más »
El trabajo que sometemos a su consideración pretende mostrar nuestras consideraciones teóricas y metodológicas... Más »
¿Estás seguro de que deseas eliminar este capítulo?