java

Páginas: 10 (2474 palabras) Publicado: 13 de abril de 2013
VENTANAS: GENERALIDADES
CREAR LA VENTANA: EL JFrame
En Java tenemos principalmente dos tipos de Ventana: JFrame y JDialog. No hay grandes diferencias entre ellas y podríamos usar indistintamente una u otra. Sin embargo, si queremos hacer las cosas como se debe, debemos tener en cuenta los siguientes puntos:
El JFrame crea abajo, en la barra de herramientas de windows (o la de linux) un botóncon el que podemos visualizar, ocultar y cerrar el JFrame, igual que cualquier otra aplicación., mientras que el JDialog no lo hace.
El JFrame permite cambiar el icono de su esquina superior izquierda, la "taza de café" que aparece en las ventanas de java. JDialog no tiene método para esto.
JDialog admite otra ventana como "padre". Si se le pasa una ventana como padre, este JDialog nunca se irádetrás y quedará oculto por su ventana padre. El JFrame no admite esta ventana padre. El JDialog hereda el icono de la esquina superior izquierda de su ventana padre.
Esto hace que el JFrame sea ideal para la ventana principal de nuestro programa y sólo debería haber un JFrame en toda la aplicación. Las demás ventanas de nuestro programa, que llamaremos ventanas secundarias, deberíanser JDialog y tener siempre como padre a JFrame.
Por ello vamos a usar, para nuestro ejemplo, un JFrame. Al hacer new JFrame() podemos pasarle varias cosas. Optamos simplemente por pasarle el título para la ventana.
HolaMundoSwing.java
import javax.swing.JFrame;
...
JFrame v = new JFrame ("Ventana hola mundo");


LAYOUT
Tanto el JFrame como el JDialog tienen dentro una clase llamada Container. Estaclase es la encargada de "contener" los botones, campos de texto y demás zarandajas que queramos añadir.
Para añadir, por ejemplo, un botón, debemo pedir el Container a la ventana y añadirle el botón. Para obtener el Container se llama al método getContentPane() de la ventana. Luego, llamamos al método add() de ese Container para añadirle botones y demás. El código es como este:
HolaMundoSwing.javav.getContentPane().add(elBoton);

Ahora viene un tema muy importante y que da muchos quebraderos de cabeza. ¿Cómo coloca el Container los componentes que le vamos añadiendo? ¿Cómo puedo yo colocar un botón en un sitio concreto?.
El JFrame y el Container que lleva dentro tienen una clase llamada Layout. Esta clase es la encargada de decidir cómo se colocan los componentes. Existen muchos tiposde Layout según como queramos colocar los componentes. Unos los ponen alineados en fila (adecuados por ejemplo para una barra de herramientas o de botones), otros los ponen en forma de cuadrícula (por ejemplo, para los botones de una calculadora), etc, etc. Tienes un explicación algo más detallada y extensa, aunque no completa, de qué es exáctamente un Layout y cuáles hay.
Para nuestro ejemplo,usaremos un FlowLayout, que coloca los botones que le pasamos alineados, de izquierda a derecha. Como no es el Layout que lleva por defecto el JFrame, tenemos que ponérselo.
HolaMundoSwing.java
import java.awt.FlowLayout;
...
v.getContentPane().setLayout(new FlowLayout());

AÑADIR LOS BOTONES
Vamos a añadir un botón y un campo de texto.
El primero es la clase JButton. Al hacer new de éladmite como parámetro un texto, que será el que salga en el botón.
HolaMundoSwing.java
import javax.swing.JButton;
...
JButton b = new JButton("Púlsame");
El segundo es la clase JTextField. Es un campo de texto de una sóla línea. Al hacer new de él, podemos poner el número de caracteres que queremos que sean visibles. Si no ponemos nada, el JTextField tiene de alto lo necesario para que quepanletras, pero no tiene ancho, por lo que quedará feo. Es mejor darle un número de caracteres para fijar su ancho.
HolaMundoSwing.java
import javax.swing.JTextField;
...
JTextField t= new JTextField(20);
Ahora sólo hay que añadir estos dos componentes a la ventana.
HolaMundoSwing.java
v.getContentPane().add(b);
v.getContentPane().add(t);

CONSEGUIR QUE EL BOTÓN HAGA ALGO
Ahora...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Java
  • Java
  • java
  • JAVA
  • java
  • java
  • javiera
  • Java

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS