sábado, 14 de mayo de 2011

Interfaces Graficas

Con la idea de simplificar el uso de los ordenadores para usuarios de todo tipo y no sólo para los expertos, se ha convertido en una práctica habitual utilizar metáforas visuales por medio de la llamada interfaz gráfica de usuario (GUI en inglés) para que el usuario interactúe y establezca un contacto más fácil e intuitivo con el ordenador.

java.AWT

Es un conjunto de herramientas muy simples con pocos componentes GUI, administradores de diseño, y eventos.
Esto se debe a Sun Microsystems decidió utilizar un mínimo común denominador (LCD) para el enfoque de AWT.
Como resultado de ello, y por desgracia, algunos de los componentes de uso común, tales como tablas, árboles, barras de progreso, y otros, no son compatibles. Para las aplicaciones que necesitan más tipos de componentes, es necesario crearlas desde cero. Esta es una gran carga.

AWT ofrece tres tipos de componentes principales:

a) Básicos: Componentes básicos en cualquier GUI.
Button
CheckBox
Container
Panel
Window
Frame
Label
List
TextComponent
MenuComponent

b) Layouts: Sirven para acomodar los componentes de la GUI.
FlowLayout
GridLayout
BorderLayout
CardLayout
GridBagLayout

c) Eventos: Otorgan funcionalidades a cada uno de los componentes de la GUI.
KeyEvent
ActionEvent
MouseEvent
TextEvent


javax.swing

El paquete Swing es parte de la JFC (Java Foundation Classes) en la plataforma Java. La JFC provee facilidades para ayudar a la gente a construir GUIs.

Las componentes Swing se identifican porque pertenecen al paquete javax.swing.

Swing existe desde la JDK 1.1 (como un agregado). Antes de la existencia de Swing, las interfaces gráficas con el usuario se realizaban a través de AWT (Abstract Window Toolkit), de quien Swing hereda todo el manejo de eventos. Usualmente, para toda componente AWT existe una componente Swing que la reemplaza, por ejemplo, la clase Button de AWT es reemplazada por la clase JButton de Swing (el nombre de todas las componentes Swing comienza con "J").

Las componentes de Swing utilizan la infraestructura de AWT, incluyendo el modelo de eventos AWT, el cual rige cómo una componente reacciona a eventos tales como, eventos de teclado, mouse, etc... Es por esto, que la mayoría de los programas Swing necesitan importar dos paquetes AWT: java.awt.* y java.awt.event.*.

Referencia:
http://www.hipertexto.info/documentos/interfaz.htm
http://www.roseindia.net/java/example/java/awt/
http://en.wikipedia.org/wiki/Swing_(Java)

La idea de la interfaz en mi proyecto y es simple, cada boton llama a una clase o metodo.

En la foto muestra el metodo de busqueda de socios (Por si no saben su numero o id) . Los botones de arriba son los metodos que puede hacer la clase.
[imagenes manipuladas con ayuda de paint, para el blog]  

Esta imagen muestra la opcion Alta que consta de un formulario.


[imagenes manipuladas con ayuda de paint, para el blog]


[imagenes obtenidas del Libro How to Program, Java de Deitel & Deitel 7° edicion] 
[http://www.speedyshare.com/files/28486006/How_to_java.pdf] 

Aun le falta GRACIAS BLOGGER :(

Saludos!..

5 comentarios:

  1. eit, que tal, no se si el botoncito con el "?", porque me gustaría saber como lo programaste, te recomendaría un combobox para lo de alta baja y buscar, ya que supongo que solo llaman a un método, con el item listener puedes y pues así la ventana se vería un poco mas didáctica.

    Saludos!

    ResponderEliminar
  2. Pues jose el boton salio solo al poner esto:
    String name =
    JOptionPane.showInputDialog( "Ingrese el nombre, numero o direccion del socio." );

    ResponderEliminar
  3. Te recomiendo separar direccion en varios campos... como colonia, calle, número,...

    también en fecha de nacimiento podrias utilizar una caja de selección(como la que utilizó Carmen) que contenga los 31 dias de los meses.. otra con los meses,,y un campo para completar el año :D

    ResponderEliminar
  4. Lo de poner ">" entre los niveles de me hace bien ochentero :P No me queda claro si este es taller o clase. Al rato regreso si le has agregado algo.

    ResponderEliminar
  5. Concluyo que esta entrada es para la clase; ahí vale 4. Un punto extra para José y para Cecy. +1 para Richi por la respuesta a José.

    ResponderEliminar