Zona HTML Zona Java Zona PHP Zona ASP Zona Bases de datos
Inicio > Tutoriales > Lenguajes orientados a objeto > Java > Nuevo en Java > New 2 Java: Construir una Aplicación: 1.- Objetos de una Aplicación
-Tutoriales

New 2 Java: Construir una Aplicación: 1.- Objetos de una Aplicación


Crear Sitio para las Clases

¿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...
  1. Abre tu editor de texto.
  2. Teclea, o copia y pega la siguiente clase, en un nuevo fichero:
    package divelog;
    
    /**
     * This class creates the content on the
     * Welcome tabbed pane in the Dive Log
     * application.
     * @version 1.0
    */
    //import for buttons, labels, and images
    import javax.swing.*; 
    //import for layout manager
    import java.awt.*; 
    
    public class Welcome extends JPanel
    { //Opens class 
    
    
      }//Closes class 
    
  3. Graba este fichero como Welcome.java en el directorio divelog.
  4. Crea clases como Welcome pero con los titulos Diver.java, Dives.java, Statistics.java, WebSite.java, y Resources.java.

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...
  1. Abre el fichero DiveLog.java.
  2. Teclea, o copia y pega las siguientes líneas de código después del corchete de cierre del constructor:
    // Method header
    private void buildMenu()
      {
      // Instantiates JMenuBar, JMenu,
      // and JMenuItem.
         JMenuBar mb = new JMenuBar();
         JMenu menu = new JMenu("File");
         JMenuItem item = new JMenuItem("Exit");
    

    Nota: Para hacer que el menú sea funcional se ha asignado un addActionListener al JMenuItem. Los conceptos sobre ActionListener son un poco avanzados y los explicaremos en más detalle en otra parte del tutorial.

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...
  1. Abre el fichero DiveLog.java.
  2. Teclea, o copia y pega las siguientes líneas de código:
         //Closes the application from the Exit 
         //menu item.
         item.addActionListener(new ActionListener()
        {
    public void actionPerformed(ActionEvent e)
    {
       System.exit(0);
     }
      
       });// Ends buildMenu method
    

    Sitúa los objetos menú, juntos usando el método predefinido, add, pasándolos en la variable de referencia.

  3. Y el siguiente:
    //Adds the item to the menu object
    menu.add(item);
    //Adds the menu object with item
    //onto the menu bar
    mb.add(menu); 
    //Sets the menu bar in the frame
    dlframe.setJMenuBar(mb);
    
  4. Graba el fichero.

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...
  1. Abre el fichero DiveLog.java.
  2. Teclea, o copia y pega las siguientes líneas de código antes del corchete } de cierre del constructor:
    dlframe.getContentPane().add(tabbedPane);
    dlframe.pack();
    dlframe.setSize(765, 690);
    dlframe.setBackground(Color.white);
    dlframe.setVisible(true);
    

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?
   A. Sirve como un punto de entrada para una aplicación.

   B.  Inicializa objetos importantes requeridos para construir una aplicación

   C.  Todas las de arriba.

 
Patrocinados
 

Copyright © 1999-2006 Programación en castellano. Todos los derechos reservados.
Formulario de Contacto - Datos legales - Publicidad

Hospedaje web y servidores dedicados linux por Ferca Network