lunes, 12 de septiembre de 2016

2.1 Definiciòn conceptual de componentes, paquetes/librerìas.
Componentes:
Un componente se puede implementar como clase única o como conjunto de clases; el requisito principal es que la interfaz pública básica esté bien definida. En el contexto de .NET Framework, un componente es una clase o un conjunto de clases que implementa la interfaz IComponent o una interfaz derivada directa o indirectamente de una clase que implementa esta interfaz. Se pueden establecer muchas clasificaciones para los componentes. Una de ellas es la de visuales o controles, frente a no visuales.
Es una clase abstracta que representa todo lo que tiene una posición, un tamaño, puede ser pintado en pantalla y puede recibir eventos.


Componentes Visuales:
Un componente es visual cuando tiene una representación gráfica en tiempo de diseño y ejecución (botones, barras de scroll, cuadros de edición, etc.), y se dice no visual en caso contrario (temporizadores, cuadros de diálogo no visibles en la fase de diseño, etc.). Por lo demás no existen más diferencias entre ellos, excepto, claro está, las derivadas de la visualización del componente.


Componentes No Visuales:
Los componentes no visuales se pueden colocar en los formularios de la misma manera que los controles, aunque en este caso su posición es irrelevante.  Los componentes no visuales incluyen Timer Control, SerialPort y ServiceController, entre otros

Paquetes/ Librerías:

La utilización de objetos dinámicos supone dejar pendiente en el montaje de la aplicación el enlace de dichos objetos. Cuando la aplicación está en ejecución, y sólo entonces, se produce el enlace (dinámico) con los objetos contenidos en la librería. La creación de librerías dinámicas corre a cargo del enlazador o montador (en nuestro caso el ld) aunque también es posible indicar al compilador las opciones necesarias para el montaje y de ese modo, será él quien se encargue de pasárselas al montador. Cuando se crea un objeto dinámico es necesario que dicho código objeto sea independiente de la posición, para conseguir este tipo de código debe especificarse al compilador la opción -fPIC (Position IndependentCode). Dicho flag debe indicarse tanto en la compilación como en el montaje de la librería. Para montar los objetos es necesario además indicar la opción -shared para que el resultado sea un fichero objeto ‘compartible’.

Consideremos los dos tipos de aplicaciones gráficas más comunes.
Modelos de Frames y Applets, se pueden construir usando cualquiera  de las dos galerías de componentes visuales, son:

JAVA  AWT
:  Es  la  librería  visual  más  antigua  de  java  usando  esta  librería,  se podrán  construir  los  tres  tipos  de  programas  mas  comunes  como  son  FRAME, WINDOW  y APPLET.
JAVA  SWING: Es la librería de componentes visuales más nueva que proporciona java,  usando  esta  librería  se  podrán  construir  los  tres  tipos  de  programas  o aplicaciones que son JFRAME, WINDOW Y JAPPLET.

Uso de librerías proporcionadas por el lenguaje

java.lang: Contiene clases esenciales para el lenguaje java y es el único paquete se importa automáticamente.
java.io: Soporta flujos de entrada y salida java.
java.net: Soporta facilidades de red (URL, sockets TCP, sockets UDP, direcciones IP, conversiones binarias a texto).
java.util: Contiene diversas clases de utilidad (conjunto de bits, enumeración, contenedores, genéricos, Vectores y Hashtable, fecha, hora separación de token, generación de números aleatorios, propiedades del sistema).
java.awt: La librería java.awt proporciona un Abstract Window Toolkit para programación GUI (Interfaz gráfica de usuario), dibujo de gráficos e imágenes, asi como también eventos colores, tipo de letras, botones, campos de texto, etc.
javax.swing: Paquete que mejora el AWT, proporcionando un conjunto de componentes que se ejecutan uniformemente en todas las plataformas. java.sql: Junto con el paquete javax.sql, permite la conexión a bases de datos, el envío de sentencias SQL y la interpretación de los resultados de las consultas.
java.sound.midi: Paquete con clases e interfaces que permiten la captura, procesamiento y reproducción de música. java.math Proporciona cálculos matemáticos.
java.applet: El paquete java.applet permite la creación de applets a través de la clase Applet, proporciona interfaces para conectar un applet a un documento Web y para audición de audio.