Comando
vcAdmin
Sintaxis
java vcAdmin<nombre archivo de videos>
Archivos Relacionados
vcAdmin.java
vcframe.java
frameayuda.java
Makefile
videos.txt
Este programa permite desplegar en pantalla una lista de
videos obtenida desde el archivo videos.txt (o del archivo cuyo
nombre se haya ingresado al ejecutar el programa). Siempre es
necesario ingresar un nombre de archivo como parámetro. sin
embargo, el archivo puede no existir. Si no existe, el programa
crea un archivo, pero siempre es necesario ingresar un nombre. El
programa muestra la lista de nombres de los videos. Al presionar
con el mouse en un nombre, se muestra la duración del video.
Además, el programa permite agregar y eliminar videos de la
lista. Para esto, el menú archivo del programa cuenta con los
ítemes Agregar video y Eliminar video. Al
presionar en Agregar Archivo, se muestra un cuadro de dialogo
para seleccionar el archivo de video que se quiere agregar dentro
del sistema de archivos. Si se selecciona un archivo, se pregunta
luego por su duración. Si se presiona en eliminar video, el
video que esta seleccionado en la lista se borra.
El menu Archivo cuenta además con el item Guardar cambios.
Esta opción permite guardar los cambios realizados en la lista
en el archivo ingresado como parámetro.
El menu Archivo cuenta además con la opción Salir, que permite
abandonar el programa. Al salir, se pregunta si se desea guardar
los cambios en caso de que no se hayan guardado.
El menú ayuda contiene el item Documentación, que
permite visualizar esta página.
Principales Clases Utilizadas
vcAdmin
La clase vcAdmin se encarga de inicializar el frame donde se desarrolla la aplicación. Además, lee el archivo de videos ingresado como parámetro, y entrega los datos obtenidos de él al frame. Básicamente, vcAdmin se encarga de crear un objeto de la clase vcframe que se define más adelante
vcframe
vcframe es la clase principal del proyecto. vcframe es el
frame que contiene la lista de videos, los labels para indicar la
duración y los menús que permiten realizar las acciones.
vcframe define primero los distintos componentes de la ventana.
Luego, el método constructor asigna a variables locales las
variables recibidas desde vcAdmin (la información del archivo de
videos). Luego se llama al método jb_init, que inicializa
todas las componentes (fonts, tamaños etc...) y donde se agregan
las componentes al frame principal.
Se definen también los métodos que responderán a las distintas
acciones que se pueden realizar (seleccionar elementos de la
lista, activar los items del menú, etc...).
frameayuda
frame ayuda es una clase que permite desplegar la información de esta documentación. Para esto, frameayuda contiene un jEditorPane, el cual acepta en su construcción una URL, y puede desplegar páginas HTML en pantalla.
JList
JList es una clase que permite desplegar una lista en pantalla. En este caso, se crea una instancia de JList a la cual se le entrega como parámetro la lista de nombres de los videos. JList puede responder a acciones de seleccion de los elementos de la lista, lo cual se aprovecha para mostrar la duración de un video cuando es seleccionado. En este caso, el encargado de responder a las acciones de seleccion es vcframe, que implementa ListSelectionListener. Dentro de vcframe se define el método valueChanged que permite reaccionar ante selecciones en la lista.En este caso, el objeto de tipo JList se agrega a un objeto de tipo JScrollPane para que la lista tenga Barras de desplazamiento
DefaultListModel
Cada tipo de datos leído del archivo es ingresado a un objeto de la clase DefaultListModel. Esta clase permite definir una lista de objetos, en este caso Strings, y tiene la ventaja que contiene métodos que permiten realizar distintas acciones con ella. Por ejemplo, es posible agregar y quitar objetos en forma arbitraria de la lista, y además es una lista de tamaño variable. Tiene la ventaja también que puede ser ingresada como argumento a un objeto de la clase JList, el cual despliega automáticamente la lista en pantalla.
JEditorPane
Esta clase se utiliza para desplegar este archivo en pantalla al ingresar al menú de ayuda. Sólo es necesario ingresar el URL del archivo HTML que se quiere mostrar, mediante el método setPage(URL). El objeto de tipo JEditorPane se agrega u un objeto de tipo JScrollPane para que la página pueda verse con barras de despla zamiento
GridBagLayout
Se crea un objeto de esta clase que define el layout de vcframe.
este Layout permite que los componentes del frame ajusten
dinámicamente su tamáño y posición de acuerdo al tamaño de
la ventana. Asociado a esta clase, se crea un objeto del tipo
GridBagConstraints, el cual contiene las restricciones con las
cuales son desplegados los componentes en pantalla.
A continuación se muestra un diagrama del funcionamiento del
programa, y la interacción entre los distintos componentes.