http://www.librosgratis.org
Java a través de la ventana Para hacer algo un poco más divertido, vamos a empezar a trabajar con la biblioteca java.awt, que es la que contiene todo un grupo de objetos para trabajar con ventanas y sus contenidos: botones, listas, etc.
Nuestra primera ventana En Java, la clase Window (descendiente de Container), en la biblioteca java.awt, permite implementar ventanas "peladas", es decir, sin bordes ni menús. Son la base para cualquier tipo de ventanas (normales, popup, diálogos, etc.). El otro descendiente de Container, Panel, es más sencillo aún y sirve como espacio para que una aplicación incorpore dentro suyo otros elementos (incluyendo otros paneles). La interface Java dirige tanto a uno como a otro todos los eventos de teclado, mouse y foco que los afecten (en seguida veremos cómo usar estos eventos). De la clase Window descienden Dialog (para implementar diálogos) y Frame, que es una ventana algo más completa: ya tiene borde y menú, así como los botones de cerrar, maximizar, etc. El siguiente ejemplo crea una ventana que no hace nada pero contiene varios elementos; se puede usar directamente (desde la ventana DOS o Unix con java Ejemplo7) o como applet dentro de una página HTML. Si bien los elementos no disparan ninguna acción, se pueden utilizar con toda su funcionalidad (por ejemplo, editar el texto dentro de los cuadros de texto o presionar el botón). // grabar como "Ejemplo7.java" // compilar con "javac Ejemplo7.java" import java.awt.*; public class Ejemplo7 extends Frame { boolean inAnApplet = true; public static void main(String args[]) { Ejemplo7 window = new Ejemplo7(); window.inAnApplet = false; window.setTitle("Ejemplo"); window.pack(); window.show(); } public Ejemplo7() { Panel panelAlto = new Panel(); panelAlto.add("West", new Label("Cartel", Label.CENTER)); panelAlto.add("East", new TextArea("Area de texto", 5, 20)); add("North", panelAlto); Panel panelBajo = new Panel(); panelBajo.add(new TextField("Campo de Texto")); panelBajo.add(new Button("Botón")); add("South",panelBajo); } public boolean handleEvent(Event ev) { if (ev.id == Event.WINDOW_DESTROY) { if (inAnApplet) {
Página 30