�Qu� sucede si no hemos creado todav�a las clases que hemos llamado Welcome, Diver, Dives, etc.?
Obtendremos un error de compilaci�n si el compilador no puede encontrar alguna clase a la que se llama desde el c�digo. Para evitar este tipo de error, creamos clases que puedan ser ejemplarizadas. Por ahora, no necesitan hacer nada m�s que existir en la memoria.
�Crear Sitio para las Clases
Las clases individuales inicializadas con cada tab se cubrir�n en las pr�ximas secciones del titurial de Dive Log. La clases Welcome es la siguiente que cubriremos en m�s detalle.
Mientras tanto, simplemente, para poder compilar la clase DiveLog, creamos clases vac�as que no hacen nada excepto inicializar espacio. Por ahora, estas clases s�lo consisten en las sentencias package e import, la cabecera de la clase, y los corchetes de apertura y de cierre. Cada clase se graba en su propio fichero.
| Sigue estos pasos... |
|---|
|
Seg�n vayamos trabajando a lo largo del tutorial, iremos abriendo estos ficheros y los rellenaremos cuando se cubra cada clase.
�Crear Objetos GUI Adicionales
Despu�s de que el constructor DiveLog llame a populateTabbedPane, el flujo del programa retorna al constructor. Luego necesitamos crear un objeto men�. Como con los tabs, crear y rellenar los objetos para crear el men� se hace dentro de un m�todo. Usando las convenciones de nombrado tipicas, este m�todo se llama buildMenu.
Este m�todo es private para evitar que otros paquetes y clases accedan a �l, y es void porque su �nico prop�sito es construir un men� y un �tem de men� llamado Exit, y para salir limpiamente cuando se seleccione este �tem. El nombre sugiere lo que hace este m�todo, y los par�ntesis est�n vac�os porque no se requieren par�metros.
El paso 3 muestra c�mo crear men�s de aplicaci�n usando las clases JMenuBar, JMenu, y JMenuItem. Ejemplarizamos un nuevo JMenuBar y lo asignamos a mb. Luego, ejemplarizamos un objeto JMenu con la variable menu, y le pasamos en el String "File" para nombrar un nuevo men�, Por �ltimo, ejemplarizamos un objeto �tem de men�, incluyendo el par�metro "Exit" y asign�ndolo a item.
| Sigue estos pasos... |
|---|
|
Despu�s de llamar a buildMenu desde el constructor DiveLog, el c�digo completa la construcci�n del objeto DiveLog. Despu�s el c�digo necesita obtener el panel de contenido y a�adirle el objeto tabbedPane. El marco que hemos creado para la aplicaci�n es un contenedor, y en este caso es el contenedor del m�s alto nivel. Todos los contenedores Swing tienen otro contenedor dentro, que es el panel de contenido, donde situamos los contenedores hijos y los componentes.
| Sigue estos pasos... |
|---|
|
Aunque esto podr�a parecer que lo que hemos hecho antes con los objetos creados los ha a�adido al objeto frame, no es as�. En vez de eso, los objetos se han a�adido al contenedor de un frame, el panel de contenido.
�A�adir Objetos a un Frame
El panel de contenido maneja el interior de un frame Swing, y los componentes se a�aden al panel de contenido del frame en vez de a�adirse directamente al frame. Para hacer esto, simplemente enviamos un mensaje al objeto dlframe con el operador punto, llamando al m�todo getContentPane y llamando al m�todo add para a�adir el objeto tabbedPane al panel de contenido. No queremos a�adir nada m�s al panel de contenido, ya que las clases tabs ejemplarizadas ser�n a�adida durante la creacci�n de los tabs, que a su vez ser�n a�adidos al objeto tabbedPane.
El m�todo pack hace que la ventana sea redimensionada para ajustarse al tama�o preferido de sus subcomponentes, y el m�todo setSize selecciona el tama�o de un frame. Incluso con el tama�o y el color establecidos, no veremos nada si no seleccionamos el componente JFrame como visible. Podr�a parecer anodino, hacer esto, pero algunas veces necesitaremos ocultar componentes. Por ejemplo, cuando un usuario haya introducido informaci�n en un �rea de texto, ocultamos el componente �rea, que ya no se necesita m�s, y mostramos el texto sobre la pantalla, o proprocionamos otro componente diferente.
Este JFrame para Dive Log deber�a ser visible todo el tiempo. Esto se hace llamando a setVisible con true de esta forma:
dlframe.setVisible(true);
Para ocultar un componente, cambiamos true por false.
| Sigue estos pasos... |
|---|
El c�digo se deber�a parecer a este. |
El constructor DiveLog est� terminado y define c�mo se mostrar�n y comportar�n los objetos de DiveLog cuando sea inicializado:
- El marco tiene un tama�o, un color de fondo y es visible.
- El panel de contenido contiene un objeto tabbedPane.
- El objeto tabbedPane contiene etiquetas con t�tulos, strings de ayudas, e inicializa las clases independientes que contienen los detalles de cada p�gina (por ahora est�n vac�as).
Con las instrucciones sobre c�mo se escribe el objeto DiveLog dentro del constructor, s�lo queda un m�todo:
public static void main(String[] args)
{
DiveLog dl = new DiveLog();
}
| �Para qu� prop�sito sirve un m�todo main? |
|---|