martes, 28 de julio de 2020

Reseña: Archivos y Componentes Swing


ARCHIVOS

Los programas usan variables para almacenar información: los datos de entrada, los resultados calculados y valores intermedios generados a lo largo del cálculo. Toda esta información es efímera: cuando acaba el programa, todo desaparece. Pero, para muchas aplicaciones, es importante poder almacenar datos de manera permanente. Cuando se desea guardar información más allá del tiempo de ejecución de un programa lo habitual es organizar esa información en uno o varios ficheros almacenados en algún soporte de almacenamiento persistente. Otras posibilidades como el uso de bases de datos utilizan archivos como soporte para el almacenamiento de la información.
En Java, los distintos tipos de ficheros se diferencian por las clases que usaremos para representarlos y manipularlos. Como las clases que usaremos pertenecen a la biblioteca estándar del lenguaje, su uso es algo más complejo que las de las clases de la ACM, ya que su diseño se ha realizado pensando en su uso industrial. Las clases que usaremos para el tratamiento de ficheros están ubicadas en el paquete java.io por lo que deben ser importadas. Además, el código que trabaja con archivos ha de considerar que muchas cosas pueden  ir mal cuando se trabaja con ellos: el archivo puede estar corrupto,  alguien ha desconectado el pendrive a medio  ejecutar del programa, es un disco en red y ésta ha caído, o no tiene más espacio para almacenar información, etc.  Es por ello que, aunque de forma breve, deberemos introducir el mecanismo estándar en Java para tratar con los errores que pueden  darse en nuestros programas: las excepciones.




COMPONENTES SWING


Es un API formado por un conjunto de componentes mejorados que sustituyen a los de las herramientas AWT originales más una serie de componentes avanzados que permiten crear interfaces gráficas de usuario en Java. Es por esto, que la mayoría de los programas Swing necesitan importar dos paquetes AWT: java.awt.* y java.awt.event.*. Como regla, los programas no deben usar componenetes pesados de AWT junto a componentes Swing, ya que los componentes de AWT son siempre pintados sobre los de Swing. (Por componentes pesadas de AWT se entiende Menu, ScrollPane y todas las componentes que heredan de las clases Canvas y Panel de AWT).


CARACTERÍSTICAS

  • Escrito totalmente en java.
  • No reemplaza a AWT.
  • Se apoya sobre AWT y añade JComponents.
  • Selección de diferentes apariencias.
  • Utilización de componentes ligeros.
  • Arquitectura Model-View-Controller (MVC).
  • Nuevos componentes.
  • Otros: iconos, bordes, tooltips, beans, etc.
  • Proporciona utilidades para facilitar creación de aplicaciones gráficas.

Como vimos en entradas anteriores, un contenedor es el tapiz donde pintaremos nuestros componentes graficos, existen contenedores principales, entre estos se encuentran JFrame y JDialog pero también existen otros contendedores incluidos dentro de los mencionados...

  • JFrame – Es la Ventana de aplicación, el contenedor principal
  •  JDialog – Una ventana de tipo Ventana de diálogo, tambien puede ser un contenedor principal.
  • JPanel – Permite la creación de paneles independientes donde se almacenan otros componentes.
  •  JScrollPane – permite la vinculación de barras de desplazamiento en un contenedor.
  • JSplitPane – permite la creación de un contenedor dividido en 2 secciones.
  • JTabbedPane – Permite la creación de pestañas, cada pestaña representa un contenedor independiente.
  • JDesktopPane – Permite crear ventanas dentro de una ventana principal 
  • JToolBar – Permite introducir una Barra de herramientas 

Componentes Atómicos

Los componentes atómicos son los elementos que no pueden almacenar otros objetos o componentes graficos, por ejemplo, un JPanel no es Atómico, ya que en el podemos almacenar JButtons, JTextField entre otros...

  • JLabel – Permite Vincular Etiquetas, tanto de texto como de imagenes
  • JButton – Permite vincular Botones simples. 
  • JCheckBox – Son Casilla de verificación, ideal para selección múltiples.
  • JRadioButton – Permite presentar opciones de selección similares a las checkbox, solo que el enfoque de estas es de única selección.
  • JToggleButton – Botón que al oprimirlo se quedará presionado hasta que se ejecute otro evento.
  • JComboBox – Permite mostrar una lista de elementos como un combo de selección.
  • JScrollBar – Permite mostrar una barra de desplazamiento, regularmente usada en Areas de texto o paneles donde el contenido es mayor que el tamaño del componente. 
  • JSeparator – Permite separar opciones, es una barra simple. 
  • JSlider - Permite vincular un Deslizador en nuestra ventana. 
  • JSpinner – permite vincular una caja de texto con botones integrados para seleccionar algún valor. 
  • JProgressBar – Establece una barra de progreso.

Son todos aquellos que nos permiten procesar cadenas de texto, sea como entrada o salida de información.

  • JTextField – Permite introducir un campo de texto simple.
  • JFormattedTextField – Permite introducir un campo de texto con formato, (si definimos que solo recibe números no permitirá letras...)
  • JPasswordField – Campo de texto que oculta los caracteres ingresados.
  • JTextArea – Permite vincular un área de texto donde el usuario ingresara información o simplemente para presentar cadenas de texto.
  • JEditorPane –Permite vincular un área de texto con propiedades de formato.
  • JTextPane – Similar al anterior, permitiendo otras opciones de formato, colores, iconos entre otros.

Estos componentes permiten vincular opciones de menú en nuestras ventanas, tipo menú principal, como por ejemplo el conocido Inicio, Archivo, Edición etc..

  • JMenuBar – Permite vincular una barra de menús.
  • JMenu– Permite vincular botones o enlaces que al ser pulsados despliegan un menú principal.
  • JMenuItem – Botón u opción que se encuentra en un menú.
  • JCheckBoxMenuItem– Elemento del menú como opciones de checkbox.
  • JRadioButtonMenuItem– Elemento del menú como botón de selección.
  • JPopupMenu– Opciones de menú emergentes.

Componentes Complejos

Estos son componentes un poco mas avanzados, cumplen con funciones mas enfocadas a procesos especificos y complejos, como por ejemplo obtener gran cantidad de información de una base de datos, trabajo con nodos, colores entre otros.

  • JTable – Permite vincular una tabla de datos con sus respectivas filas y columnas.
  • JTree - Carga un árbol donde se establece cierta jerarquía visual, tipo directorio.
  • JList – Permite cargar una lista de elementos, dependiendo de las propiedades puede tenerse una lista de selección múltiple.
  • JFileChooser – Es un componente que permite la búsqueda y selección de ficheros entre otras.
  • JColorChooser – Componente que permite cargar un panel selector de color
  • JOptionPane – No es algo complejo sino mas un componente independiente que permite mostrar un cuadro de diálogo personalizable.

No hay comentarios.:

Publicar un comentario