SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
INSTITUTO TECNOLOGICO
SUPERIOR DE PANUCO
Materia: Topicos avanzados
de programación
Maestro: Ing. Enrique Ponce
Rivera
Carrera: Ing. En sistemas
computacionales
Unidad III: Componentes y
librerías
Alumno(a): Anel Verónica
Sosa Mejía
Fecha : 10/Abril/2016
Unidad III: Componentes y librerías
3.1. Definición conceptual de componentes, paquetes/librerías
Componente: 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.
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’.
Imagen 1.0.- Componentes básicos.
3.2. Uso de componentes (visuales y no visuales) proporcionados por el lenguaje
Un componente desde el punto de vista de programación esta compuesto por varias secciones y el
conjunto de todas ellas dan lugar a la creación de dichocomponente. Por tanto, primero para no
perder el norte, vamos a empezar definiendo elconvenio que es utilizado para organizar dichas
secciones por TinyOs. En general, uncomponente posee tres grandes secciones que son:
Configuration, Implementation,Modul e.
Estas tres secciones han de estar obligatoriamente presentes en cualquiercomponente aunque
puedan estar vacías. El estándar de T i n y O s determina, que las secciones de Configuration
eImplementatión han de ir en un fichero que recibirá el nombre del componente con laextensión
.nc y la tercera sección de Module deberá de ir en otro fichero aparte querecibirá el nombre del
componente concatenado con un M mayúscula (la M da elsignificado al fichero, es el significado de
Module) , este último fichero también poseeráa extensión .nc.
Otra buena costumbre consiste en crear un fichero de header o cabecera con extensión .h que
contenga todas las enumeraciones, registros o tipos de datos creadospor el usuario de los que hace
uso la aplicación, y cuando se realiza esto la forma deligar dicho fichero con los otros dos es
utilizando al principio de los otros fichero ladirectiva includesheader; aunque como mención
especial decir que si nos fijamosmejor en este directiva se puede ver que no se incorpora la
extensión .h en la misma.
Ahora que ya sabes cuales son las secciones que va a contener cada ficherovamos a empezar a
explicar cada una de ellas. ImplementatiónEsta sección se va a encargar de definir las conexiones
que hay entre losdiferentes componentes que utiliza la aplicación, esto es debido a que si
recordamos unpoco, se ha comentado que la programación de un componente (que se llevará a
cabo en la sección de module) se hace utilizando interfaces y dichas interfaces para poderutilizarlas
las ha de proporcionar un componente, entonces básicamente es esta secciónse definen cuales son
los componentes que proporcionan las interfaces a nuestraaplicación (por lo general serán
componentes primitivos). Una vez que conocemos la finalidad de esta sección y llegados a este
punto, vamos a insertar un concepto nuevo que es la diferencia que existe entre una aplicaciónque
esta ya disponible para ser ejecutada en un sensor y un componente cualquiera. Ladiferencia es
muy poca, y consiste en que una aplicación es un componente comocualquier cosa en este lenguaje
que en su sección de implementación hace uso de uncomponente especial denominado Main.
Imagen 2.0.- componentes (visuales y no visuales) proporcionados por el lenguaje.
3.3. Uso de librerías proporcionadas por el lenguaje
Java es un lenguaje de programación desarrollado para una multitud de plataformas y procesadores.
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.
Un applet es un programa en java que se mandan a una máquina o PC remota para que los ejecuten
o lo corra, cuando este applet de llegada a las máquinas remotas vía browser, dicho browser es
quien activa la máquina virtual de java que da la orden de compilación y ejecución, es decir java
programa.applet.
Entonces es importante que la máquina virtual de java, que se encuentra en la PC remota,tenga
capacidad de incluir todas las librerías de java, como la de match, la de AWT, la de lang.etc.
Existen diferentes librerías en java, entre las cuales se encuentra.
Java. lang .-Colección de tipo básico siempre importados a cualquier unidad de compilación. Aquí
están las declaraciones de objetos, clases, wrappers. Interfaces Clases.
Cloneables
Boolean
Comparable
Byte
Runnable
Character
ClassLoader
Compiler
Double
Float
InheritableThreadLocal
Interger
Long
Math
Number
Object
System
Thread
VoidString, etc...
Java.io Archivos de stream y acceso aleatorio. Librería estándar de entrada y salida. Interfaces
Clases
DataInputBufferedInputStream
DataOutputBufferedOutputStream
ExternalizableBufferedReader
FilefilterBufferedwrite
FilenameFilterByteArrayInputStream
OdjectInputByteArrayOutputStream
SerializableDataOutputStream
File InputStream reader
Writer,etc..
Java.net Librería que apoya interfaces con telnet y URL.
Interfaces Clases
ContentHandlerFactory
Authenticator
DatagramSocketImplFactoryContentHandler
FileNameMapDatagramPacket
SocketOptionsDatagramSocketImpl
URLStreamHanlerFactoryHttpURKConnection URL, etc..
Java.util Clase como de diccionarios, tabla de hash, stack, técnica de codificación hora, fecha, etc.
Interfaces Clases
Collection AdstractCollection
Comparator AdstracList
Enumeration AdstrectMap
EventListenerAdstrectSecquentialList
InteratorAdstractSet
List ArreyList
Observer Collection
SortedSetEventObject
Random Stack
Timer
Vector
Date,etc.
Java.Awt
AbstractWindowingToolkit que proporciona una capa abstracta que permita llevar una aplicación
en java de un sistema de ventanas a otro. Contiene clases para componentes básicos de la interfaz,
tales como eventos, colores, tipos de letra, botones, campos de texto.
Estructura del awt.
La estructura de la versión actual del AWT en la plataforma Java 2 se puede resumir en los puntos
siguientes:
Los contenedores contienen componentes, que son los controládores básicos. No se usan
posiciones fijas de los componentes, si no estan situados a traves de una disposición controlado
(layouts) El común denominador de mas bajo nivel se acerca al teclado, ratón y manejo de eventos.
Alto nivel de abstracción respecto al entorno de ventanas en que se ejecute la aplicación (no hay
áreas clientes, ni llamadas a X ). La arquitectura de la aplicación es dependiente del entorno de
ventanas, en vez de tener un tamaño fijo. Carece de un formato de recursos. No se puede separar
el código de lo que es propiamente interfaz. No hay ningún diseñador de interfaz toda vía. Interfaces
Clases
ActiveEventAlphaComposite
AdjustableAWTEvent
Java.applet
El paquete java.applet permite la creación de appletsatraves de la clase Applet, proporciona
interfaces para conectar un applet a un documento web y para audición de audio
. Interfaces Clases
AppletContext
Applet
AppletStub
AudiClip
Java.math
Proporciona cálculos en entero grande y real grande.
Clases
Bigdecimal
Biginteger
Además de la clase Math.
Esta es la clase que representa la librería matemática de Java. Las funciones que contiene son las
de todos los lenguajes, parece que se han metido en una clase solamente a propósito de agrupación,
por eso se encapsulan en Math, y lo mismo sucede con las demás clases que corresponde a objetos
que tiene un tipo equivalente (carácter, Float, etc.)
La clase Math es public para que se pueda llamar desde cualquier sitio y static para que no haya
que iniciarla.
Java.rmi
Este paquete hace posible que un objeto se ejecute en una maquina virtual Java invoque métodos
de otro objeto que se ejecuta en la máquina virtual distinta; dicha máquina virtual pueden
encontrarse en ordenadores diferentes conectados a través de una red TCP/IP.
Interfaces Clases
RmoteMarshalledObject
Naming
RMISecurityManager
Java.text
Contiene clase que permiten dar formato especializado a fechas, números y mensajes.
Interfaces Clases
AttributedChacterIterator
Annotation
CharacterIteratorAttibutedCharacterIterator
ChoceFormat
DateFormat
Format
MessageFormat
NumberFormat
ParsePosition
Java.sound.midi
Paquete con clase e interfaces que permitan la captura, procesamiento y reproducción de música
MIDI. Interfaces Clases
ControllerEventListener
Instrument
MataEventListenerMeteMessage
MidiChannel
MidiDevice.info
MidiDeviceMidiEvent
Receiver
MidiFileFormat
SequecerMidemessage
JAVA .SQL
Junto con el paquete javax.sql, incluido en java 2 SDK Edición para la empresa, forma parte del API
de java 2.0 (conexión Java a Base de Datos), y permite la conexión de base de datos, el envió de
sentencias SQL y la interpretación de los resultados de las consultas.
IntefacesClases
Array Date
Blob DriverManager
CallabeStatementDriverPropertyInfo
ClobSQLPermission
Connecction Timer
DatabaseMetaDate Timestamp
Driver Type
Ref
SQLData
SQLInput
SQLOutput
Struct
JAVA.SWING
Paquete que mejora e AWT, proporcionando un conjunto de componentes que se ejecutan de
manera uniforme en todas las plataformas.
Interfaces Clases
Action AbstractAction
ComboBoxEditorActonMap
Icon Box.Filler
ListModelCellRendererPane
MenuElementDebugGraphics
WindowsConstantsDefaulListSelectionModel
JApplet
Jbutton
JCheckBox
JFrame
JMenu
JLabe
l JPanel
JTextField
JTree
JWindows
Temer
UIManager
3.4. Creación de componentes (visuales y no visuales) definidos por el usuario & 3.5.
Creación y uso de paquetes/librerías definidas por el usuario
Se puede establecer muchas clasificaciones para los componentes. Una de ellas es la de visuales o
controles, frente a no 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.
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.
Para empezar, los componentes visuales podemos dividirlos a su vez en dos tipos:
-Componentes interactivos: permiten que el usuario final los manipule, ya sea introduciendo datos,
seleccionado elementos, etc. De forma que estos componentes pueden recibir el foco (con
SetFocus) así como los eventos propios del teclado y del ratón. Normalmente, el propio sistema
operativo es el encargado de dibujar el aspecto del componente, haciendo el componente las
llamadas correspondientes para que este aspecto cambie.
-Componente gráficos: el propio componente es el encargado de dibujar en la pantalla lo que crea
oportuno, bien a través de las funciones básicas del API de Windows (con el objeto TCanvas) o bien
a través de otras librerías gráficas, como OpenGL, DirectX, etc. Estos componentes, no suelen recibir
eventos del usuario final, aunque si eventos del propio programador, ya que su cometido no suele
ir más allá de mostrar ciertos gráficos o imágenes en la pantalla.
Si tuviéramos que crear un componente interactivo desde el principio, sería demasiado complejo,
ya que tendríamos que luchar encontrar el propio API del sistema operativo, gestionando sus
mensajes, las llamadas las funciones a bajo nivel, etc. Sin embargo, podemos aprovechar la mayoría
del trabajo hecho por Borland en la VCL, y crear componentes interactivos a partir de otros ya
existentes, aplicado la técnica de herencia.

Más contenido relacionado

La actualidad más candente

Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
Fernando Camacho
 
Automatas-Lenguajes1-1 (1).pdf
Automatas-Lenguajes1-1 (1).pdfAutomatas-Lenguajes1-1 (1).pdf
Automatas-Lenguajes1-1 (1).pdf
RamosDiez
 
1.3 lenguajes de simulacion y simuladores
1.3 lenguajes de simulacion y simuladores1.3 lenguajes de simulacion y simuladores
1.3 lenguajes de simulacion y simuladores
JoOsee Kette
 
Organización y administración de la memoria virtual
Organización y administración de la memoria virtualOrganización y administración de la memoria virtual
Organización y administración de la memoria virtual
Oscar LS
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
Osiris Mirerus
 
Transiciones de Procesos
Transiciones de ProcesosTransiciones de Procesos
Transiciones de Procesos
sueich
 
1.4 software numerico
1.4 software numerico1.4 software numerico
1.4 software numerico
morenito9001
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
Irving Che
 
Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)
Javier Alvarez
 

La actualidad más candente (20)

Hilos en java
Hilos en javaHilos en java
Hilos en java
 
Gestion del almacenamiento secundario
Gestion del almacenamiento secundarioGestion del almacenamiento secundario
Gestion del almacenamiento secundario
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
 
Automatas-Lenguajes1-1 (1).pdf
Automatas-Lenguajes1-1 (1).pdfAutomatas-Lenguajes1-1 (1).pdf
Automatas-Lenguajes1-1 (1).pdf
 
1.3 lenguajes de simulacion y simuladores
1.3 lenguajes de simulacion y simuladores1.3 lenguajes de simulacion y simuladores
1.3 lenguajes de simulacion y simuladores
 
Organización y administración de la memoria virtual
Organización y administración de la memoria virtualOrganización y administración de la memoria virtual
Organización y administración de la memoria virtual
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
 
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datosTópicos Avanzados de Programación - Unidad 4 Acceso a datos
Tópicos Avanzados de Programación - Unidad 4 Acceso a datos
 
PAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIAPAGINACION Y SEGMENTACION DE MEMORIA
PAGINACION Y SEGMENTACION DE MEMORIA
 
Entrada y Salida
Entrada y SalidaEntrada y Salida
Entrada y Salida
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
Transiciones de Procesos
Transiciones de ProcesosTransiciones de Procesos
Transiciones de Procesos
 
Arquitectura de Von Neumann
Arquitectura de Von NeumannArquitectura de Von Neumann
Arquitectura de Von Neumann
 
1.4 software numerico
1.4 software numerico1.4 software numerico
1.4 software numerico
 
3.creacion de componentes visuales
3.creacion de componentes visuales3.creacion de componentes visuales
3.creacion de componentes visuales
 
Analizador lexico
Analizador lexicoAnalizador lexico
Analizador lexico
 
Estrategias de busqueda
Estrategias de busquedaEstrategias de busqueda
Estrategias de busqueda
 
Método por plegamiento Hash
Método por plegamiento HashMétodo por plegamiento Hash
Método por plegamiento Hash
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)Introduccion a la administracion de los procesos y el procesador (S.O)
Introduccion a la administracion de los procesos y el procesador (S.O)
 

Destacado

Tópicos avanzados de programación carolina
Tópicos avanzados de programación carolinaTópicos avanzados de programación carolina
Tópicos avanzados de programación carolina
Carolina Hoil Heredia
 
Topicos Avanzados
Topicos AvanzadosTopicos Avanzados
Topicos Avanzados
ju4nit0
 
Tópicos avanzados de programación eventos
Tópicos  avanzados  de programación   eventosTópicos  avanzados  de programación   eventos
Tópicos avanzados de programación eventos
Kanddy Mobylml
 

Destacado (10)

Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y libreriasTopicos Avanzados de Programacion - Unidad 3 componentes y librerias
Topicos Avanzados de Programacion - Unidad 3 componentes y librerias
 
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y libreriasTópicos Avanzados de Programación - Unidad 2 componentes y librerias
Tópicos Avanzados de Programación - Unidad 2 componentes y librerias
 
Tópicos avanzados de programación carolina
Tópicos avanzados de programación carolinaTópicos avanzados de programación carolina
Tópicos avanzados de programación carolina
 
Topicos Avanzados
Topicos AvanzadosTopicos Avanzados
Topicos Avanzados
 
Unidad 2 tópicos avanzados de programacion
Unidad 2 tópicos avanzados de programacionUnidad 2 tópicos avanzados de programacion
Unidad 2 tópicos avanzados de programacion
 
Tópicos avanzados de programación eventos
Tópicos  avanzados  de programación   eventosTópicos  avanzados  de programación   eventos
Tópicos avanzados de programación eventos
 
LibreríAs De Java
LibreríAs De JavaLibreríAs De Java
LibreríAs De Java
 
UNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICAUNIDAD 2 PROGRAMACIÓN BASICA
UNIDAD 2 PROGRAMACIÓN BASICA
 
Topicos Avanzados de Programacion Unidad 1 Eventos
Topicos Avanzados de Programacion Unidad 1 EventosTopicos Avanzados de Programacion Unidad 1 Eventos
Topicos Avanzados de Programacion Unidad 1 Eventos
 
presentacion topicos unidad 1
presentacion topicos unidad 1presentacion topicos unidad 1
presentacion topicos unidad 1
 

Similar a investigacion unidad tres componentes y librerias

Presentacion carlos
Presentacion carlosPresentacion carlos
Presentacion carlos
Karlytozdj
 
Java awt javax swing
Java awt  javax swingJava awt  javax swing
Java awt javax swing
devsco63
 
Programacion no numerica ii
Programacion no numerica iiProgramacion no numerica ii
Programacion no numerica ii
rolmanpaul
 
Trabajo java
Trabajo javaTrabajo java
Trabajo java
amec0612
 
Presentacion aplicaciones en java
Presentacion aplicaciones en javaPresentacion aplicaciones en java
Presentacion aplicaciones en java
rsalazar16988
 
Programacion no numerica ii
Programacion no numerica iiProgramacion no numerica ii
Programacion no numerica ii
rolmanpaul
 
Conceptos Fundamentales de POO
Conceptos Fundamentales de POOConceptos Fundamentales de POO
Conceptos Fundamentales de POO
sena
 

Similar a investigacion unidad tres componentes y librerias (20)

Presentacion carlos
Presentacion carlosPresentacion carlos
Presentacion carlos
 
Aplicaciones en java_genesis_duran (3)
Aplicaciones en java_genesis_duran (3)Aplicaciones en java_genesis_duran (3)
Aplicaciones en java_genesis_duran (3)
 
Unidad 3 isc j3 paquetes y librerias CB
Unidad 3 isc j3 paquetes y librerias CBUnidad 3 isc j3 paquetes y librerias CB
Unidad 3 isc j3 paquetes y librerias CB
 
Java awt javax swing
Java awt  javax swingJava awt  javax swing
Java awt javax swing
 
Programacion no numerica ii
Programacion no numerica iiProgramacion no numerica ii
Programacion no numerica ii
 
Java
JavaJava
Java
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Tarea3
Tarea3 Tarea3
Tarea3
 
Java desde 0
Java desde 0Java desde 0
Java desde 0
 
Java
JavaJava
Java
 
Trabajo java
Trabajo javaTrabajo java
Trabajo java
 
Programacion orientada a objetos Java
Programacion orientada a objetos JavaProgramacion orientada a objetos Java
Programacion orientada a objetos Java
 
Presentacion aplicaciones en java
Presentacion aplicaciones en javaPresentacion aplicaciones en java
Presentacion aplicaciones en java
 
Programacion no numerica ii
Programacion no numerica iiProgramacion no numerica ii
Programacion no numerica ii
 
Investigacion de Python.pptx
Investigacion de Python.pptxInvestigacion de Python.pptx
Investigacion de Python.pptx
 
Presentacion luis silva aplicaciones java
Presentacion luis silva aplicaciones javaPresentacion luis silva aplicaciones java
Presentacion luis silva aplicaciones java
 
Aplicaciones java
Aplicaciones javaAplicaciones java
Aplicaciones java
 
Java
JavaJava
Java
 
Conceptos Fundamentales de POO
Conceptos Fundamentales de POOConceptos Fundamentales de POO
Conceptos Fundamentales de POO
 
API Java
API JavaAPI Java
API Java
 

Más de Anel Sosa

Más de Anel Sosa (20)

Codigo Visual Studio: Galeria de imagenes
Codigo Visual Studio: Galeria de imagenesCodigo Visual Studio: Galeria de imagenes
Codigo Visual Studio: Galeria de imagenes
 
Comandos sql
Comandos sql Comandos sql
Comandos sql
 
Codigo ensamblador
Codigo ensamblador Codigo ensamblador
Codigo ensamblador
 
INVESTIGACION “SOLUCION DE SISTEMAS DE ECUACIONES: METODO DE JACOBY”
INVESTIGACION “SOLUCION DE SISTEMAS DE ECUACIONES: METODO DE JACOBY”INVESTIGACION “SOLUCION DE SISTEMAS DE ECUACIONES: METODO DE JACOBY”
INVESTIGACION “SOLUCION DE SISTEMAS DE ECUACIONES: METODO DE JACOBY”
 
APLICACIONES DE LAS ECUACIONES DIFERENCIALES
APLICACIONES DE LAS ECUACIONES DIFERENCIALESAPLICACIONES DE LAS ECUACIONES DIFERENCIALES
APLICACIONES DE LAS ECUACIONES DIFERENCIALES
 
SISTEMA OPERATIVOS
SISTEMA OPERATIVOSSISTEMA OPERATIVOS
SISTEMA OPERATIVOS
 
INVESTIGACIÓN DE CHIPSET
INVESTIGACIÓN DE CHIPSET INVESTIGACIÓN DE CHIPSET
INVESTIGACIÓN DE CHIPSET
 
SIMMAN 3G
SIMMAN 3GSIMMAN 3G
SIMMAN 3G
 
Metodologia incremental
Metodologia incrementalMetodologia incremental
Metodologia incremental
 
Paradigmas de programacion
Paradigmas de programacion Paradigmas de programacion
Paradigmas de programacion
 
Escenario socioeconomico
Escenario socioeconomicoEscenario socioeconomico
Escenario socioeconomico
 
Investigacion calculo derivadas e integrales
Investigacion calculo derivadas e integralesInvestigacion calculo derivadas e integrales
Investigacion calculo derivadas e integrales
 
Lenguajes de simulacion
Lenguajes de simulacionLenguajes de simulacion
Lenguajes de simulacion
 
maquinas de turing jflap
maquinas de turing jflapmaquinas de turing jflap
maquinas de turing jflap
 
Panuco Veracruz
Panuco Veracruz Panuco Veracruz
Panuco Veracruz
 
que es un Curriculum
que es un Curriculumque es un Curriculum
que es un Curriculum
 
maquinas de turing
maquinas de turingmaquinas de turing
maquinas de turing
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
 
Programa expresiones regulares
Programa expresiones regularesPrograma expresiones regulares
Programa expresiones regulares
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARES
 

Último

Último (20)

Determinación de espacios en la instalación
Determinación de espacios en la instalaciónDeterminación de espacios en la instalación
Determinación de espacios en la instalación
 
Matrices Matemáticos universitario pptx
Matrices  Matemáticos universitario pptxMatrices  Matemáticos universitario pptx
Matrices Matemáticos universitario pptx
 
Libro de ingeniería sobre Tecnología Eléctrica.pdf
Libro de ingeniería sobre Tecnología Eléctrica.pdfLibro de ingeniería sobre Tecnología Eléctrica.pdf
Libro de ingeniería sobre Tecnología Eléctrica.pdf
 
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelosFicha Tecnica de Ladrillos de Tabique de diferentes modelos
Ficha Tecnica de Ladrillos de Tabique de diferentes modelos
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
“Análisis comparativo de viscosidad entre los fluidos de yogurt natural, acei...
 
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJODIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
DIAPOSITIVAS DE SEGURIDAD Y SALUD EN EL TRABAJO
 
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTOPRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 
Desigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdfDesigualdades e inecuaciones-convertido.pdf
Desigualdades e inecuaciones-convertido.pdf
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
semana-08-clase-transformadores-y-norma-eep.ppt
semana-08-clase-transformadores-y-norma-eep.pptsemana-08-clase-transformadores-y-norma-eep.ppt
semana-08-clase-transformadores-y-norma-eep.ppt
 
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdfAnálisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
Análisis_y_Diseño_de_Estructuras_con_SAP_2000,_5ta_Edición_ICG.pdf
 
Sistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptxSistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptx
 
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
 
Minería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptosMinería convencional: datos importantes y conceptos
Minería convencional: datos importantes y conceptos
 
ELASTICIDAD PRECIO DE LA DEMaaanANDA.ppt
ELASTICIDAD PRECIO DE LA DEMaaanANDA.pptELASTICIDAD PRECIO DE LA DEMaaanANDA.ppt
ELASTICIDAD PRECIO DE LA DEMaaanANDA.ppt
 

investigacion unidad tres componentes y librerias

  • 1. INSTITUTO TECNOLOGICO SUPERIOR DE PANUCO Materia: Topicos avanzados de programación Maestro: Ing. Enrique Ponce Rivera Carrera: Ing. En sistemas computacionales Unidad III: Componentes y librerías Alumno(a): Anel Verónica Sosa Mejía Fecha : 10/Abril/2016
  • 2. Unidad III: Componentes y librerías 3.1. Definición conceptual de componentes, paquetes/librerías Componente: 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. 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’. Imagen 1.0.- Componentes básicos.
  • 3. 3.2. Uso de componentes (visuales y no visuales) proporcionados por el lenguaje Un componente desde el punto de vista de programación esta compuesto por varias secciones y el conjunto de todas ellas dan lugar a la creación de dichocomponente. Por tanto, primero para no perder el norte, vamos a empezar definiendo elconvenio que es utilizado para organizar dichas secciones por TinyOs. En general, uncomponente posee tres grandes secciones que son: Configuration, Implementation,Modul e. Estas tres secciones han de estar obligatoriamente presentes en cualquiercomponente aunque puedan estar vacías. El estándar de T i n y O s determina, que las secciones de Configuration eImplementatión han de ir en un fichero que recibirá el nombre del componente con laextensión .nc y la tercera sección de Module deberá de ir en otro fichero aparte querecibirá el nombre del componente concatenado con un M mayúscula (la M da elsignificado al fichero, es el significado de Module) , este último fichero también poseeráa extensión .nc. Otra buena costumbre consiste en crear un fichero de header o cabecera con extensión .h que contenga todas las enumeraciones, registros o tipos de datos creadospor el usuario de los que hace uso la aplicación, y cuando se realiza esto la forma deligar dicho fichero con los otros dos es utilizando al principio de los otros fichero ladirectiva includesheader; aunque como mención especial decir que si nos fijamosmejor en este directiva se puede ver que no se incorpora la extensión .h en la misma. Ahora que ya sabes cuales son las secciones que va a contener cada ficherovamos a empezar a explicar cada una de ellas. ImplementatiónEsta sección se va a encargar de definir las conexiones que hay entre losdiferentes componentes que utiliza la aplicación, esto es debido a que si recordamos unpoco, se ha comentado que la programación de un componente (que se llevará a cabo en la sección de module) se hace utilizando interfaces y dichas interfaces para poderutilizarlas las ha de proporcionar un componente, entonces básicamente es esta secciónse definen cuales son los componentes que proporcionan las interfaces a nuestraaplicación (por lo general serán componentes primitivos). Una vez que conocemos la finalidad de esta sección y llegados a este punto, vamos a insertar un concepto nuevo que es la diferencia que existe entre una aplicaciónque esta ya disponible para ser ejecutada en un sensor y un componente cualquiera. Ladiferencia es muy poca, y consiste en que una aplicación es un componente comocualquier cosa en este lenguaje que en su sección de implementación hace uso de uncomponente especial denominado Main.
  • 4. Imagen 2.0.- componentes (visuales y no visuales) proporcionados por el lenguaje. 3.3. Uso de librerías proporcionadas por el lenguaje Java es un lenguaje de programación desarrollado para una multitud de plataformas y procesadores. 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. Un applet es un programa en java que se mandan a una máquina o PC remota para que los ejecuten o lo corra, cuando este applet de llegada a las máquinas remotas vía browser, dicho browser es quien activa la máquina virtual de java que da la orden de compilación y ejecución, es decir java programa.applet. Entonces es importante que la máquina virtual de java, que se encuentra en la PC remota,tenga capacidad de incluir todas las librerías de java, como la de match, la de AWT, la de lang.etc. Existen diferentes librerías en java, entre las cuales se encuentra. Java. lang .-Colección de tipo básico siempre importados a cualquier unidad de compilación. Aquí están las declaraciones de objetos, clases, wrappers. Interfaces Clases. Cloneables Boolean Comparable Byte
  • 5. Runnable Character ClassLoader Compiler Double Float InheritableThreadLocal Interger Long Math Number Object System Thread VoidString, etc... Java.io Archivos de stream y acceso aleatorio. Librería estándar de entrada y salida. Interfaces Clases DataInputBufferedInputStream DataOutputBufferedOutputStream ExternalizableBufferedReader FilefilterBufferedwrite FilenameFilterByteArrayInputStream OdjectInputByteArrayOutputStream SerializableDataOutputStream File InputStream reader Writer,etc.. Java.net Librería que apoya interfaces con telnet y URL. Interfaces Clases ContentHandlerFactory
  • 6. Authenticator DatagramSocketImplFactoryContentHandler FileNameMapDatagramPacket SocketOptionsDatagramSocketImpl URLStreamHanlerFactoryHttpURKConnection URL, etc.. Java.util Clase como de diccionarios, tabla de hash, stack, técnica de codificación hora, fecha, etc. Interfaces Clases Collection AdstractCollection Comparator AdstracList Enumeration AdstrectMap EventListenerAdstrectSecquentialList InteratorAdstractSet List ArreyList Observer Collection SortedSetEventObject Random Stack Timer Vector Date,etc. Java.Awt AbstractWindowingToolkit que proporciona una capa abstracta que permita llevar una aplicación en java de un sistema de ventanas a otro. Contiene clases para componentes básicos de la interfaz, tales como eventos, colores, tipos de letra, botones, campos de texto. Estructura del awt. La estructura de la versión actual del AWT en la plataforma Java 2 se puede resumir en los puntos siguientes: Los contenedores contienen componentes, que son los controládores básicos. No se usan posiciones fijas de los componentes, si no estan situados a traves de una disposición controlado (layouts) El común denominador de mas bajo nivel se acerca al teclado, ratón y manejo de eventos. Alto nivel de abstracción respecto al entorno de ventanas en que se ejecute la aplicación (no hay áreas clientes, ni llamadas a X ). La arquitectura de la aplicación es dependiente del entorno de ventanas, en vez de tener un tamaño fijo. Carece de un formato de recursos. No se puede separar
  • 7. el código de lo que es propiamente interfaz. No hay ningún diseñador de interfaz toda vía. Interfaces Clases ActiveEventAlphaComposite AdjustableAWTEvent Java.applet El paquete java.applet permite la creación de appletsatraves de la clase Applet, proporciona interfaces para conectar un applet a un documento web y para audición de audio . Interfaces Clases AppletContext Applet AppletStub AudiClip Java.math Proporciona cálculos en entero grande y real grande. Clases Bigdecimal Biginteger Además de la clase Math. Esta es la clase que representa la librería matemática de Java. Las funciones que contiene son las de todos los lenguajes, parece que se han metido en una clase solamente a propósito de agrupación, por eso se encapsulan en Math, y lo mismo sucede con las demás clases que corresponde a objetos que tiene un tipo equivalente (carácter, Float, etc.) La clase Math es public para que se pueda llamar desde cualquier sitio y static para que no haya que iniciarla. Java.rmi Este paquete hace posible que un objeto se ejecute en una maquina virtual Java invoque métodos de otro objeto que se ejecuta en la máquina virtual distinta; dicha máquina virtual pueden encontrarse en ordenadores diferentes conectados a través de una red TCP/IP. Interfaces Clases RmoteMarshalledObject Naming
  • 8. RMISecurityManager Java.text Contiene clase que permiten dar formato especializado a fechas, números y mensajes. Interfaces Clases AttributedChacterIterator Annotation CharacterIteratorAttibutedCharacterIterator ChoceFormat DateFormat Format MessageFormat NumberFormat ParsePosition Java.sound.midi Paquete con clase e interfaces que permitan la captura, procesamiento y reproducción de música MIDI. Interfaces Clases ControllerEventListener Instrument MataEventListenerMeteMessage MidiChannel MidiDevice.info MidiDeviceMidiEvent Receiver MidiFileFormat SequecerMidemessage JAVA .SQL Junto con el paquete javax.sql, incluido en java 2 SDK Edición para la empresa, forma parte del API de java 2.0 (conexión Java a Base de Datos), y permite la conexión de base de datos, el envió de sentencias SQL y la interpretación de los resultados de las consultas. IntefacesClases
  • 9. Array Date Blob DriverManager CallabeStatementDriverPropertyInfo ClobSQLPermission Connecction Timer DatabaseMetaDate Timestamp Driver Type Ref SQLData SQLInput SQLOutput Struct JAVA.SWING Paquete que mejora e AWT, proporcionando un conjunto de componentes que se ejecutan de manera uniforme en todas las plataformas. Interfaces Clases Action AbstractAction ComboBoxEditorActonMap Icon Box.Filler ListModelCellRendererPane MenuElementDebugGraphics WindowsConstantsDefaulListSelectionModel JApplet Jbutton JCheckBox JFrame JMenu JLabe l JPanel
  • 10. JTextField JTree JWindows Temer UIManager 3.4. Creación de componentes (visuales y no visuales) definidos por el usuario & 3.5. Creación y uso de paquetes/librerías definidas por el usuario Se puede establecer muchas clasificaciones para los componentes. Una de ellas es la de visuales o controles, frente a no 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. 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. Para empezar, los componentes visuales podemos dividirlos a su vez en dos tipos: -Componentes interactivos: permiten que el usuario final los manipule, ya sea introduciendo datos, seleccionado elementos, etc. De forma que estos componentes pueden recibir el foco (con SetFocus) así como los eventos propios del teclado y del ratón. Normalmente, el propio sistema operativo es el encargado de dibujar el aspecto del componente, haciendo el componente las llamadas correspondientes para que este aspecto cambie. -Componente gráficos: el propio componente es el encargado de dibujar en la pantalla lo que crea oportuno, bien a través de las funciones básicas del API de Windows (con el objeto TCanvas) o bien a través de otras librerías gráficas, como OpenGL, DirectX, etc. Estos componentes, no suelen recibir eventos del usuario final, aunque si eventos del propio programador, ya que su cometido no suele ir más allá de mostrar ciertos gráficos o imágenes en la pantalla. Si tuviéramos que crear un componente interactivo desde el principio, sería demasiado complejo, ya que tendríamos que luchar encontrar el propio API del sistema operativo, gestionando sus mensajes, las llamadas las funciones a bajo nivel, etc. Sin embargo, podemos aprovechar la mayoría del trabajo hecho por Borland en la VCL, y crear componentes interactivos a partir de otros ya existentes, aplicado la técnica de herencia.