Download Descargar

Document related concepts
no text concepts found
Transcript
Corporación universitaria del Caribe CECAR
MÓDULO
ELECTIVA PROFESIONAL II
WILSON DAVID FLOREZ BARBOZA
Ingeniero de Sistemas
Especialista administración de la informática educativa
Licenciatura en Educación Básica con Énfasis en Tecnología e Informática
Sincelejo – Sucre
2013
TABLA DE CONTENIDO
Pág.
INTRODUCCIÓN
JUSTIFICACION
REFERENTES TEORICOS
INSTRUCCIONES DE MANEJO
UNIDAD 1
1. CONCEPTOS BASICOS DE PROGRAMACION ORIENTADA A OBJETOS
(POO).
1.1 Conceptualización de la POO.
1.1.1
Definiciones
1.1.2
Importancia de la POO.
1.1.3
Diferencia con programación estructurada.
1.1.4
Lenguajes de programación
1.1.5
¿qué es un objeto?
1.2 Características de la POO.
1.2.1
Abstracción.
1.2.2 Clases y sus componentes.
1.2.3 Mensaje.
1.2.4 Polimorfismo.
1.2.5 Herencia.
1.2.6 Encapsulación.
1.3 Modificadores de acceso
1.4 Los métodos constructores, get y set de una clase.
El método constructor de una clase
1.5 Diagramas de clases
1.6 El lenguaje java
1.6.1
La comunidad de java
1.6.2 Netbeans como IDE de desarrollo
1.6.3 Variables y tipos de datos
1.6.4 Estructuras de control
1.6.5 Concepto de librerías.
1.6.6 Definición de una clase
1.6.7 Definición de un objeto de programación
1.6.8 Objeto del mundo real. Vs objeto de programación
1.6.9 Ejemplo del uso de otras clases.
UNIDAD 2:
2. DISEÑO DE INTERFACES GRAFICAS CON LOS OBJETOS GRAFICOS
DE LA LIBRERÍA SWING Y VALIDACION DE INFORMACION.
2.1
Consideración en el diseño de una GUI:
2.2
Contenedores y componentes gráficos (Objetos gráficos)
2.2.1 Formularios: Clase jFrame
2.2.2 Cajas de textos: Clase jTextField.
2.2.3 Etiquetas: Clase jLabel.
2.2.4 Listas despegables: Clase jComboBox
2.2.5 Áreas de textos: Clase jTextArea.
2.2.6 Botones de opciones: Clase jRadioButton
2.2.7 Botones: Clase jButton
2.2.8 Métodos importante en los componentes
2.2.9 Mas componentes, ejemplo con Netbeans
2.2.10 El método initcomponents
2.2.11 Eventos
2.3
Creación de clase de validación.
2.4
Validación de los objetos gráficos de un formulario utilizando la clase
de validación creada en la sección anterior.
UNIDAD 3
3. COMUNICACIÓN A BASE DE DATOS Y REPORTES
3.1 Creación de clases de comunicación JAVA con MYSQL
3.2 Guardar información en la base de datos de una interfaz grafica
validada usando la clase Conexión
3.3 Actualizar
información en la base de datos de una interfaz grafica
validada
3.4 Eliminar información en la base de datos de una interfaz grafica
validada
3.5 Buscar información por llave primaria desde una base de datos de una
interfaz grafica
INTRODUCCIÓN
En este modulo se explicará la programación orientada a objetos que se desarrollan
bajo un contexto aplicado al igual que en las matemáticas y la física. El objetivo de este
modulo es brindarle al estudiante una noción de cómo están hechos los sistemas de
información y de paso poder animarlo a desarrollar sus propios aplicativos.
Es conveniente que el licenciado de informática pueda ofrecerle a sus futuros
educandos el enfoque de programador ante el manejo de los sistemas informáticos.
Centrarse en este aspecto es sentirse con mayor propiedad y control hacia las
aplicaciones informáticas.
Durante el desarrollo del modulo el estudiante irá adquiriendo conceptos básicos de
programación orientada a objetos, manejo de interfaces gráficas y comunicación con las
bases de datos con la ayuda de entornos de desarrollo (IDE) o herramientas gráficas.
La mayoría de validaciones, conexiones a base de datos, sentencias para manipular las
bases de datos ya están programados, lo que se busca primordialmente es que el
estudiante se acostumbre a un estándar de trabajo al momento de desarrollar sus
interfaces gráficas, conexiones a bases de datos, entre otros. La buena práctica de
estándares de trabajo para desarrollo de sistemas de información hará que el
estudiante le sea tan fácil como armar un rompecabezas, sin dejar de lado que existen
muchas formas de hacerlo.
La programación orientada a objetos posee una característica que concede mucha
ventaja al momento de desarrollar y es la abstracción que como se define en Wikipedia:
“el término se refiere al énfasis en el "¿qué hace?" más que en el "¿cómo lo
hace?" (Característica de caja negra) ” 1. Teniendo en cuenta esta definición las cosas
serán mucho más fáciles para el estudiante al momento de desarrollar las lecciones
propuestas.
1
https://es.wikipedia.org/wiki/Abstracci%C3%B3n_(inform%C3%A1tica)
Es indispensable que los educadores con énfasis en la informática otorguen a sus
futuros educandos una perspectiva aplicada hacia los sistemas informáticos, de esta
manera podrá despertar su interés para que posteriormente se profundice en
conocimientos afines en un ámbito profesional como la ingeniería.
Las soluciones que puede ofrecer el desarrollo de sistemas de información son
incontables en cuanto al manejo de la información en general ya sea para controlar
procesos administrativos que el futuro docente deba desempeñar o para implementar
metodologías más didácticas en sus clases.
JUSTIFICACIÓN
En la globalización, la tecnología informática juega un papel importante porque permite
obtener información desde cualquier parte del mundo. Todos los profesionales deben
estar en sintonía con este tema especialmente aquellos con carreras afines, este
modulo busca que el estudiante de licenciatura en informática profundice en este tema
de desarrollo de sistemas de información y con ellos desarrolle habilidades en el
manejo de todas las herramientas de información.
Dentro del perfil de egresado en licenciatura en informática se encuentra que éste debe
propiciar proyectos investigativos que contribuyan a la solución de problemas de la
comunidad educativa, es ahí donde este modulo proporcionará a los estudiantes tener
una visión más amplia en cuanto al tema tecnológico y le permitirán crear proyectos
más enriquecedores.
Los futuros egresados de licenciatura en informática podrán transferir estos
conocimientos a sus estudiantes, permitiendo que ellos tengan una visión del desarrollo
de sistemas de información, y una posible tendencia vocacional.
COMPETENCIAS QUE PROMUEVEN LA ASIGNATURA
METACOGNITIVA
Utiliza herramientas informáticas para el diseño e
implantación de un sistema de información en el ámbito
escolar, desarrollado bajo paradigma POO.
RELACIONAL
Aplica los conocimientos obtenidos a situaciones
laborales
concretas
utilizando
los
procedimientos
adecuados, para solucionar problemas de manera
autónoma y transferir las situaciones adquiridas a
situaciones novedosas.
TECNOLÓGICA
Crea
sistemas
de
información
desarrollado
bajo
paradigma POO en el contexto educativo.
ARGUMENTATIVA
Diferencia la POO del resto de paradigmas de
programación
REFERENTES TEORICOS
Con el transcurso de los años se ha venido dando la necesidad de innovar e investigar
herramientas y recursos que sirvan y faciliten la evolución de la informática, y que por
medio de éstos las personas obtengan una mejor enseñanza y apliquen de una
manera correcta todos los medios tecnológicos que se nos han dado. Un ejemplo de
todas esas necesidades que se han presentado ha sido facilitar para las empresas,
colegios, entre otros, el implementar y diseñar sistemas de información que sean de
gran ayuda. Es por esto que cada día se busca una mejor herramienta para su
aprovechamiento eficaz.
Entre los lenguajes de programación encontramos a Java, que es un lenguaje de
programación orientado a objetos desarrollado por Sun MicroSystems, una compañía
reconocida por sus estaciones de trabajo UNIX de alta calidad. Java es fundamentado
en c++, el lenguaje java se diseño para ser pequeño, sencillo y portátil a través de
plataformas y sistemas operativos, tanto a nivel de código fuente como binario, lo que
significa que los programas java (applets y
aplicaciones), pueden ejecutarse en
cualquier computadora que tenga instalada una maquina virtual de java. A pesar que
java es un lenguaje de programación orientado a objetos, también puede ser utilizado
como un lenguaje estructurado, lo cual se hace necesario para poder iniciar nuestro
estudio de conceptos fundamentales de programación. [1]
Java es un lenguaje de programación y la primera plataforma informática creada por
Sun Microsystems en 1995. Es la tecnología subyacente que permite el uso de
programas punteros, como herramientas, juegos y aplicaciones de negocios. Java se
ejecuta en más de 850 millones de ordenadores personales de todo el mundo y en
miles de millones de dispositivos, como dispositivos móviles y aparatos de televisión. [2]
Todos los sistemas de información guardan su información en los sistemas de gestión
de base de datos SGBD, MYSQL se ha convertido en uno de los principales SGBD a
nivel mundial y fue desarrollada por MySQL AB, una empresa sueca 2, MySQL es un
sistema de gestión de base de datos relacional, multiusuario con más de seis millones
de instalaciones. MySQL es muy utilizado en aplicaciones web como drupal o phpBB,
en plataformas (Linux/Windows – Apache-MySQL-php/perl/python) y por herramientas
de seguimiento de errores como Bugzilla. Su popularidad como aplicación web está
muy ligada a PHP, que a menudo aparece en combinación con MySQL. [3]
Para facilitarnos el trabajo de desarrollo de sistemas de información, existen varios
entornos de desarrollo, uno de los mas importante es NetBeans, el cual es una
plataforma para el desarrollo de aplicaciones de escritorio usando el lenguaje Java,
además brinda facilidades para la comunicación de las bases de datos, especialmente
MYSQL. En este entorno de desarrollo integrado (IDE) se pueden desarrollar también
otros lenguajes de programación como C y C++ mediante los cuales se pueden crear
aplicaciones gráficas, por ejemplo usando librerías como wxWidgets.[4]
Un sistemas de información que no permita exportar resultados para imprimir, sería un
sistemas de información de muy poca utilidad, es por eso que existen muchos reporteadores entre los cuales encontramos a IReport que es un constructor / diseñador
de informes visual, poderoso, intuitivo y fácil de usar para JasperReports escrito en
Java. Este instrumento permite que los usuarios corrijan visualmente informes
complejos con cartas, imágenes, subinformes, y mucho más. iReport está además
integrado con JFreeChart, una de la biblioteca gráficas OpenSource más difundida para
Java. Los datos para imprimir pueden ser recuperados por varios caminos incluso
múltiples uniones JDBC, TableModels, JavaBeans, XML, entre otros. [5]
2
Origen de MYSQL
http://books.google.com.co/books?id=cNTIoRAtE1kC&pg=PT1&dq=que+es+el+lenguaj
e+mysql&hl=es&sa=X&ei=fVHfUeCPD7Gn4AOu6YHYBQ&ved=0CDMQ6AEwAQ
FORMAS DE ABORDAR EL CONTENIDO DEL MODULO
Para el desarrollo exitoso de este módulo es importante el ritmo y secuenciación del
trabajo auto dirigido, de tal forma que puedas trabajarlo en casa y posteriormente
socializarlo en clases con tu profesor, pero para ello debes tener disponibilidad de
tiempo, alto grado de responsabilidad e iniciativa con cada una de las actividades
programadas.
También cabe destacar, que la información consignada en el módulo puede ser
ampliada para que usted enriquezca los conceptos que se desarrollan a lo largo del
módulo, por lo tanto se le recomienda que consulten las citas referenciadas en la
bibliografía.
Tenga presente las siguientes anotaciones:
 Considere el módulo como una herramienta que le permitirá fortalecer sus
conocimientos sobre la POO y desarrollo de sistemas de información.
 Lea y estudie cada uno de los temas con anticipación a la sesión con el tutor, para
que llegue con inquietudes y se genere la discusión a partir de estas.
 La constitución de grupos de estudio, que se han denominado CIPAS, es
altamente recomendable, dado que no todos asimilan de la misma manera, por tal
razón es conveniente concretar con otros compañeros algunos puntos clave de las
lecturas y análisis de la información del módulo. Además es importante analizar
cada uno de los puntos de vistas de los integrantes del CIPA, el cual nos ayudará
a afianzar y enriquecer nuestra propia comprensión sobre los temas desarrollados
en el módulo.
 Complemente sus actividades con las consultas sugeridas en documentos, sitios
web, que fortalezcan el estudio de los temas propuestos en el módulo.
Importante: En este modulo se utilizará el diagrama entidad relación del observador del alumno, el cual
fue desarrollado en el modulo de base de datos.
UNIDAD 1
1. CONCEPTOS BASICOS DE PROGRAMACION ORIENTADA A OBJETOS
(POO)
1 Conceptualización de la POO.
1.1.1
Definiciones
1.1.2
Importancia de la POO.
1.1.3
Diferencia con programación estructurada.
1.1.4
Lenguajes de programación
1.1.5
¿qué es un objeto?
1.2 Características de la POO.
1.2.1
Abstracción.
1.2.2
Clases y sus componentes.
1.2.3
Mensaje.
1.2.4
Polimorfismo.
1.2.5
Herencia.
1.2.6
Encapsulación.
1.3 Modificadores de acceso
1.4 Los métodos constructores, get y set de una clase.
El método constructor de una clase
1.5 Diagramas de clases
1.6 El lenguaje java
1.6.1
La comunidad de java
1.6.2
Netbeans como IDE ( Integrated Development
Environment) de desarrollo
1.6.3
Variables y tipos de datos
1.6.4
Estructuras de control
1.6.5
Concepto de librerías.
1.6.6
Definición de una clase
1.6.7
Definición de un objeto de programación
1.6.8 Objeto del mundo real. Vs objeto de
programación
PRESENTACIÓN
En esta unidad trataremos todo el concepto de programación orientada a objetos POO,
sus características y las consideraciones para trabajar en el lenguaje java. Además se
expondrá la diferencia entre programación estructura que han trabajado previamente en
el modulo de algoritmos con la POO.
PLANTEAMIENTO DEL PROBLEMA
¿Cómo la POO puede fundamentar el conocimiento de
los licenciados para que
desarrollen los cimientos en la creación de los sistemas de información?
COMPETENCIAS ESPECÍFICAS
 Identifica la importancia de la POO en el desarrollo de software.
 Interpreta y maneja las características de la POO
 Creación e instanciación de clases a partir de los objetos del mundo real.
DINÁMICA PARA CONSTRUIR EL CONOCIMIENTOS
ACTIVIDAD PREVIA: Trabajo independiente
 Realiza un resumen sobre el tema POO
 Investiga la diferencia entre programación estructurada y POO.
CONCEPTOS BASICOS DE PROGRAMACION ORIENTADA A OBJETOS (POO)
1.1 CONCEPTUALIZACION DE LA POO.
1.1.1 Definiciones
La
Programación
Orientada
a
Objetos
POO
(OOP
Object-oriented
programming en inglés).
Según Luis Joyanes Aguilar (Programación orientada a objetos 1996):
“La orientación a objetos puede describirse como el conjunto de disciplinas…
que desarrollan y modernizan sistemas de información que facilita la
construcción de sistemas complejos a partir de componentes… proporciona
conceptos y herramientas con las cuales se modela y representa el mundo real
tan fielmente como sea posible.”
La Wikipedia lo defino como “un paradigma de programación que usa los objetos
en sus interacciones, para diseñar aplicaciones y programas informáticos”.
En otras palabras es un paradigma de programación que permite la abstracción
del mundo real mediante la utilización de objetos para el diseño de sistemas de
información, es una técnica que permite modelar el mundo que nos rodea y las
relaciones existentes entre los mismos desde nuestro punto de vista para
convertirlas en lenguaje de máquina.
1.1.2 Importancia de la POO
Algunas de las causas por la cual la POO esta tan difundida a nivel mundial, y
es la base de los actuales sistemas de información son las siguientes:
 Mantenibilidad: Debido a la sencillez para abstraer el problema, los programas
orientados a objetos son más sencillos de leer y comprender, debido a que
permiten ocultar detalles de implementación dejando visibles sólo aquellos
detalles más relevantes. [11]
 Reusabilidad: Los mecanismos de encapsulación de la POO soportan un alto
grado de reutilización de código, que se incrementa por sus mecanismos de
herencia [10]
 Modificabilidad. La facilidad de añadir, suprimir o modificar nuevos objetos
permiten hacer modificaciones de una forma muy sencilla.
 Escalabilidad: le permite a un sistema un crecimiento adaptable manteniendo la
calidad y la facilidad de trabajo continuo y fluido.
Facilita el trabajo en equipo.
La abstracción de los objetos del mundo real permite crear sistemas de
información complejos.
1.1.3 Diferencia con programación estructurada
Según Francisco A. Martínez Gil, Gregorio Martín Quetglá. explican
que “la
programación estructurada fue históricamente la primera manera universalmente
aceptada de organizar un programa que cumpliera con los objetivos de ser fácil y
comprender leyendo el propio código… fácil de depurar(localizar errores del
programa)… ser fácil de mantener (ampliar con nuevas especificaciones o
modificar ya existentes)…
permitir trabajo en equipo sobre un
mismo
programa”; [12] sin embargo, con el avance de la tecnología y los sistemas
informáticos la implantación de esta técnica de programación no presentaba una
solución eficiente ni eficaz para resolver los requerimientos de los sistemas de
información actuales.
La programación estructurada presenta algunas
dificultades como:
 Distinta abstracción del mundo. Se centra en el comportamiento, normalmente
representado por verbos, mientras que nuestra mente se centra en los seres, a
los que, normalmente, identificamos con sustantivos.
 Dificultad en modificación y actualización. Los programas suelen tener datos
compartidos por varios subprogramas, esto puede provocar que cualquier ligera
modificación en un módulo afecte indirectamente al resto.
 Dificultad en mantenimiento. Es complicado encontrar todos los errores en
grandes aplicaciones, lo que origina que muchos no aparezcan hasta estar la
aplicación en explotación. [15]
Al contrario que la programación estructurada que enfatiza en los algoritmos, la
POO enfatiza en los datos. En lugar de intentar ajustar un problema al enfoque
procedimental de un lenguaje, POO intenta ajustar el lenguaje al problema. La
idea es diseñar formatos de datos que se correspondan con las características
esenciales de un problema. Los lenguajes orientados combinan en una única
unidad o módulo, tanto los datos como las funciones que operan sobre esos
datos. Tal unidad se llama objeto. Si se desea modificar los datos de un objeto,
hay que realizarlo mediante las funciones miembros del objeto. Cuando se trata
de resolver un problema con orientación a objetos, dicho problema no se
descompone en funciones como en programación estructurada tradicional, sino
en objetos. El pensar en términos de objetos tiene una gran ventaja debido a que
se asocian los objetos del problema a los objetos del mundo real. [13]
1.1.4 Lenguajes de programación
Un lenguaje de programación es un conjunto de símbolos y reglas sintácticas y
semánticas que definen su estructura y el significado de sus elementos y
expresiones, es utilizado para controlar el comportamiento físico y lógico de una
máquina. [14]. Es decir; es el idioma mediante el cual podemos escribir códigos
de una forma entendible para el humano y traducibles para la máquina.
1.1.5 ¿Qué es un objeto?
Un objeto es un paquete que contiene datos y el código de forma de subrutinas
que operan sobre los datos del propio objeto [16].
Eugenia Bahit,
en su libro sintáctico gramatical de POO, explica de forma
sencilla ¿qué es un objeto?, el cual es cualquier “cosa” que nos rodea, una
mesa, una pared, un carro usted mismo es un objeto. Cuando se piensa en
objetos todos los sustantivos son objetos. [17].
1.2 CARACTERISTICAS DE LA POO
Cuando vemos un objeto de la vida diaria
notamos sus cualidades, es una
descripción de la manera como se puede identificar un objeto. Por ejemplo, si
observamos
una silla notamos que el “objeto es”
y luego describimos las
características de la silla, la silla es marrón y marrón es un “color”, la silla es
grande y grande es un “tamaño”, la silla es bonita y bonita es un aspecto, por lo
tanto tenemos:
 La silla es de color marrón.
 La silla es de tamaño grande.
 La silla es de aspecto bonita.
Además de esto, los objetos tienen la capacidad de realizar tareas, es decir, lo
que ellos pueden hacer, sus comportamientos. Retomando el ejemplo de la silla
nos debemos preguntar ¿Qué se puede hacer con la silla? Entonces la silla se
puede desarmar, la silla se puede reclinar.
1.2.1 Abstracción
Jojanes (1996) define la abstracción como “La propiedad de los objetos que
consiste en tener en cuenta sólo los aspectos más importantes desde un punto
de vista determinado y no tener en cuenta los restantes aspectos que no son
significativos. Durante el proceso de abstracción es cuando se decide
qué
características y comportamientos debe tener el modelo. Un medio de reducir la
complejidad es la abstracción. Las características y los procesos se reducen a
las propiedades esenciales, dejando de lado los demás detalles no sustanciales.
De este modo, las características complejas se hacen más manejables”. [10]
La abstracción nos sirve para poder pasar un objeto del plano material al plano
mental, es decir, que debemos tomar un objeto y aislarlo de los demás y
analizarlo para determinar solamente sus características relevantes. ¿Con qué
motivo se hace esto? Aunque todo un sistema funcione como uno podemos
desarmarlo en partes más pequeñas, para poder identificarlo más fácil y destacar
sus características básicas.
1.2.2 Clases y sus componentes.
En la programación orientada a objetos, una clase es una construcción que se
utiliza como un modelo (o plantilla) para crear objetos de ese tipo. El modelo
describe el estado y contiene el comportamiento que todos los objetos creados a
partir de esa clase tendrán. Un objeto creado a partir de una determinada clase
se denomina una instancia de esa clase. [18]
Los componentes de una clase son:
 Métodos (comportamientos): representan acciones propias que puede
realizar el objeto. Cada método debe tener una y solo una responsabilidad.
 Atributos (Características o propiedades):
Son los datos que están
contenidos dentro de un objeto, los cuales pueden contener tipos primitivos
tales como enteros, flotantes, caracteres, entre otros, también
contener estructuras complejas como
pilas, conjuntos, listas,
pueden
arrays o
incluso de estructuras recursivas de alguno o todos de sus elementos.
1.2.3 Mensaje
Un mensaje es una petición de un objeto a otro objeto al que le solicita ejecutar
uno de sus métodos. Por convenio, el objeto que envía la petición se denomina
emisor y el objeto que recibe la petición se denomina receptor.
1.2.4 Polimorfismo
Polimorfismo quiere decir "un objeto y muchas formas". Esta propiedad permite
que un objeto presente diferentes comportamientos en función del contexto en
que se encuentre. Por ejemplo, un método puede presentar diferentes
implementaciones en función de los argumentos que recibe, recibir diferentes
números de parámetros para realizar una misma operación, y realizar diferentes
acciones dependiendo del nivel de abstracción en que sea llamado. [18]
1.2.5 Herencia
La herencia supone una clase base y una jerarquía de clases que contiene las
clases derivadas de la clase base. Las clases derivadas pueden heredar el
código y los datos de su clase base, añadiendo su propio código especial y datos
a ellas, incluso cambiar aquellos elementos de la clase base que necesita sean
diferente.
 Herencia Simple
En esta jerarquía cada clase tiene como máximo una sola superclase. La
herencia simple permite que una clase herede las propiedades de su superclase
en una cadena jerárquica.
 Herencia Múltiple
Una herencia múltiple o retícula consta de clases, cada una de las cuales puede
tener una o más superclases inmediatas. Una herencia múltiple es aquella en la
que cada clase puede heredar métodos y variables de cualquier número de
superclases.
1.2.6 Encapsulación
El encapsulamiento permite a los objetos elegir qué información es publicada y
qué información es ocultada al resto de los objetos. Para ello los objetos suelen
presentar sus métodos como interfaces públicas y sus atributos como datos
privados e inaccesibles desde otros objetos.
Para permitir que otros objetos consulten o modifiquen los atributos de los
objetos, las clases suelen presentar métodos de acceso. De esta manera el
acceso a los datos de los objetos es controlado por el programador, evitando
efectos laterales no deseados.
Con el encapsulado de los datos se consigue que las personas que utilicen un
objeto sólo tengan que comprender su interfaz, olvidándose de cómo está
implementada y en definitiva reduciendo la complejidad de utilización.[22]
1.3 MODIFICADORES DE ACCESO
Los modificadores de acceso permiten al diseñador de una clase determinar
quién accede a los datos y métodos miembros de una clase los modificadores
posibles son los siguientes:
 Públicas (public): Las clases declaradas como públicas son accesibles
desde cualquier otra clase, es decir cualquier otra clase puede crear
objetos de esta clase. Al
igual que los métodos declarados públicos
pueden usarse desde cualquier otra clase..
 Privadas (private): Sólo se puede acceder al elemento desde métodos
de la clase, o sólo puede invocarse el método desde otro método de la
misma clase.
 Protegidos (protected): Este es una combinación de los accesos que
proporcionan los modificadores public y private, protected proporciona
acceso público para las clases derivadas y acceso privado (prohibido)
para el resto de clases.
 Sin modificador: Se puede acceder al elemento desde cualquier clase
del paquete donde se define la clase.
Generalmente las clases son públicas, los atributos son privados y los métodos son
públicos.
1.4 LOS METODOS CONSTRUCTORES, GET Y SET DE UNA CLASE
El método constructor de una clase
El constructor es un método especial de una clase. El objetivo fundamental del
constructor es inicializar los atributos del objeto que creamos. Las características
de un método constructor son las siguientes:
 El constructor es el primer método que se ejecuta cuando se crea un
objeto.
 El constructor se llama automáticamente cuando instanciamos el objeto.
 Luego de que se ejecuta el constructor no puede ser llamado
nuevamente.
 Un constructor no puede retornar dato.
 Un constructor puede recibir parámetros que se utilizan normalmente para
inicializar atributos. [20]
 El constructor es un método opcional, no es obligación colocarlo y
depende del diseño de la clase y la tarea que se quiera realizar.
Método set
El método set (establecer, colocar) es un método que se utiliza para asignarle
valores a los atributos de la clase con el modificador de acceso privado.
Método get
El método get (obtener) es un método que se utiliza para obtener valores los
atributos de la clase con el modificador de acceso privado.
1.5 DIAGRAMAS DE CLASES
Un diagrama de clases es un tipo de diagrama estático que describe la estructura
de un sistema mostrando sus clases, atributos y las relaciones entre ellos. Los
diagramas de clases son utilizados durante el proceso de análisis y diseño de los
sistemas, donde se crea el diseño conceptual de la información que se manejará
en el sistema, y los componentes que se encargaran del funcionamiento y la
relación entre uno y otro.[21].
El propósito de este diagrama es el de representar los objetos fundamentales del
sistema, es decir, los que percibe el usuario y con los que espera tratar para
completar su tarea en vez de objetos del sistema o de un modelo de programación.
La clase se representa por un rectángulo con tres divisiones en las cuales en la
parte superior se escribe el nombre de la clase, en el medio los atributos con su
modificador de acceso y los métodos se escribes en la parte inferior
El proceso de abstracción para crear un diagrama de clases es similar en cuanto
al nombre y los atributos al mismo que se usa para crear un modelo entidad
relación (visto en el modulo de bases de datos).
1.6 EL LENGUAJE JAVA
Java es un lenguaje de programación con el que podemos realizar cualquier tipo
de programa. En la actualidad java es el primer lenguaje de programación
orientado a objetos más usado y el segundo a nivel general según el índice tiobe
[23]. Está desarrollado por la compañía Sun Microsystems con gran dedicación y
siempre enfocado a cubrir las necesidades tecnológicas más punteras.
Una de las principales características por las que Java se ha hecho muy famoso es
que es un lenguaje independiente de la plataforma. Eso quiere decir que si
hacemos un programa en Java podrá funcionar en cualquier ordenador del
mercado. Es una ventaja significativa para los desarrolladores de software, pues
antes tenían que hacer un programa para cada sistema operativo, por ejemplo
Windows, Linux, Apple, entre otros. Esto lo consigue porque se ha creado una
Máquina de Java para cada sistema que hace de puente entre el sistema operativo
y el programa de Java y posibilita que este último se entienda perfectamente. [24]
1.6.1 La comunidad de JAVA
Una de las ventajas que presenta JAVA es su gran comunidad en español y otros
idiomas, esto lo ha hecho un lenguaje de programación que se ha mantenido en la
última década como un lenguaje de alta relevancia e importancia, con java puedes
encontrar mucha información posteada en foros y paginas dedicadas al lenguaje,
difícil no encontrar una respuesta buscándola en la web porque lo más probable es
que a otra persona en cualquier lugar del mundo le ha sucedido lo mismo y lo ha
solucionado, y esta información es totalmente gratis y accesible para cualquier
persona, además de esto encuentras muchos proyectos , librerías, ejemplos y
soluciones realizadas por otras personas las cuales solo necesitan importarlas a tu
proyecto y no tienes que pensar de nuevo en cómo solucionarlo.
1.6.2 Netbeans como IDE de desarrollo
Netbeans es un entorno de desarrollo que nos ayuda a crear nuestros sistemas
de información y nos permite utilizar todo el concepto de POO a través del
lenguaje java.
Hay que tener en cuenta netbeans es un programa como cualquier otro que con
los años lo van actualizando, La versión que utilizaremos para explicar los
contenidos será la versión actual del momento que es la versión 7.3.1
Como instalar netbeans.
Antes de instalar netbeans lo primero que debemos hacer es instalar la maquina
virtual
de
java
(JDK),
podemos
bajar
los
instaladores
en
https://netbeans.org/downloads/index.html o en cualquier pagina web utilizando
los buscadores, además en este link en [Video 2] pueden encontrar un video
tutorial para instalarlo.
Entrada a netbeans
Una vez instalado el programa lo abrimos con doble clic al icono
que quedo
en escritorio o en programas y aparecerá una interfaz como la que sigue.
Ejemplo de creación de un proyecto en netbeans.
Para la creación de clases en netbeans se hace clic en File->New Project
Donde aparecerá una ventana donde escogeremos el tipo de aplicación para
nuestras aplicaciones utilizaremos Java Application.
Hacemos clic en Next y en la siguiente ventana podremos darle un nombre a nuestro
nuevo proyecto, ejemplo MiPrimerProyecto, además podremos escoger donde
guardarlo a través del botón Browse.
Por último hacemos clic en Finish y aparecerá la siguiente ventana.
1.6.3 Variables y tipos de datos
•
byte: El tipo de dato byte es un entero de 8 bits complemento a dos. Su
valor mínimo es -128 y el máximo 127 (inclusive). El tipo de datos byte se
puede utilizar para ahorrar memoria en grandes arrays, donde el ahorro de
memoria realmente importa. También se pueden utilizar en lugar de int
donde sus límites ayudan a aclarar el código, el hecho de que el rango de
una variable es limitado puede servir como una forma de documentación.
•
short: El tipo de dato short es un entero de 16 bits complemento a dos. Su
valor mínimo es -32,768 y el máximo 32,767 (inclusive). Se aplican las
mismas directrices que con byte: puede utilizar short para ahorrar memoria
en grandes arrays, en situaciones en las que el ahorro realmente importa.
•
int: El tipo de dato int es un entero de 32 bits complemento a dos. Su valor
mínimo
es
-2,147,483,648
y
el
máximo
2,147,483,647
(inclusive).
Generalmente este tipo es la elección predeterminada para valores enteros
a no ser que haya una razón (como las mencionadas anteriormente) para
elegir otro. Este tipo de dato normalmente será lo suficiente grande para los
números que su programa vaya a utilizar pero si necesita un rango más
amplio, utilice long.
•
long: El tipo de dato long es un entero de 64 bits complemento a dos. Su
valor
mínimo
es
-9,223,372,036,854,775,808
y
el
máximo
9,223,372,036,854,775,807 (inclusive). Utilice este tipo de dato cuando
necesite un rango de valores más amplio que el proporcionado por int.
•
Float: El tipo de dato float es un dato en coma flotante IEEE 754 de 32 bits y
precisión simple. Su rango de valores está fuera del ámbito de este tema,
pero se detalla en la sección 4.2.3 de la Especificación del lenguaje Java. Al
igual que con byte y short, se recomienda usar un float (en vez de un
double) si necesita ahorrar memoria en grandes array de números en coma
flotante. Este tipo de dato nunca debería ser usado para valores precisos
como,
por
ejemplo,
divisas.
Para
esto
debería
usarla
clase
java.math.BigDecimal. Números y cadenas trata BigDecimal y otras clases
útiles proporcionadas por la plataforma Java.
•
double: El tipo de dato double es un dato en coma flotante IEEE 754 de 64
bits y precisión doble. Su rango de valores está fuera del ámbito de este
tema, pero se detalla en la sección 4.2.3 de la Especificación del lenguaje
Java. Normalmente este tipo de dato es la elección predeterminada para
valores decimales. Como ya se ha mencionado, este tipo de dato no se
debería utilizar para valores precisos como, por ejemplo, divisas.
•
boolean: El tipo de dato boolean solamente tiene dos valores posibles: true
(verdadero) y false (falso). Utilice este tipo de datos como conmutadores
para la evaluación de condiciones verdadero/falso. Este tipo de dato
representa un bit de información, pero su «tamaño» es algo que no está
definido con precisión.
•
char: El tipo de dato char es un solo carácter Unicode de 16 bits.[ 25]
1.6.4 Estructura de control
En lenguajes de programación, las estructuras de control permiten modificar el
flujo de ejecución de las instrucciones de un programa.
Estructura if (Si) condicional simple
El “if” es la estructura de control más sencilla en la cual se tiene que cumplir con
una condición para poder ejecutar el código y se construye de la siguiente forma.
If(condición booleana){
Instrucciones
}
La condición booleana tiene que ser verdadera para que pueda ejecutar el
código que está dentro.
If (es de día){
Sale el sol
}
En este caso la condición se cumple cuando es de día entonces como es de día
tiene que salir el sol
En java sería algo como.
Estructura if –else (Si - Sino) condicional doble
Con este tipo de estructura se busca que en caso de no cumplirse la condición
en el if continúe hasta el else de la siguiente forma.
If(condición booleana){
Instrucciones
}else{
Otras Instrucciones
}
Entonces lógicamente sería algo como.
If(es de día){
Sale el sol
}else{
Sale la luna
}
En este ejemplo quiere decir que la condición del if no se cumplió por lo tanto no
ejecuta la instrucción que se encuentra en el, por lo tanto continua hacia el else.
El ejemplo en java seria.
Estructuras if... else anidadas condicional múltiple.
Se obtiene anidando sentencias if... else. Permite construir estructuras de
selección más complejas.
If(la hora es menor que las 12 m y mayor que 6 am){
Es de mañana
}else if(la hora es mayor que 12 y menor que 6){
Es de tarde
}else{
Es de noche
}
Estructuras switch
Este tipo de estructura evalúa una expresión y de acuerdo a eso lo remitirá a un
caso u otro.
Switch(expression){
Case 1:
Instrucciones 1.
break;
Case 2:
Instrucciones 2.
break;
Case 3:
Instrucciones 3.
break;
default :
Instrucciones default.
break;
}
Estructuras de iteración.
Este tipo de estructuras nos permiten ejecutar instrucciones un cierto número de veces
de acuerdo a las condiciones de cada estructura.
Estructura for.
La estructura for permite ejecutar un bloque de instrucciones un número determinado
de veces mientras se cumpla una condición.
for(inicialización;condición;incremento){
Instrucciones…
}
La inicialización es el valor inicial en el cual comenzara el ciclo, el final del bucle lo
indica la condición, y el incremente es el valor en la cual se aumentará la variable de
inicialización cada vez que se repita el ciclo
Estructura While.
Esta estructura ejecutara un ciclo hasta que la condición del ciclo sea no se cumpla.
while(expresión boleana){
instrucciones…
}
En este caso imprimirá del 0 hasta el 19.
Estructura do-while.
Esta estructura ejecuta primero la instrucción y luego evalúa la condición.
En este caso imprimirá del 0 hasta el 29.
1.6.5 Concepto de librerías.
Una librería es una colección o conjunto de subprogramas usados para
desarrollar software. En general, las librerías no son ejecutables, pero sí pueden
ser
usadas
por
ejecutables
que
las
necesitan
para
poder
funcionar
correctamente.
Las librerías son muy utilizadas para extender las funcionalidades que queremos
tener en el programa que estamos desarrollando, que de forma nativa no se
pueden ser hacer. Por ejemplo si queremos conectarnos con una base de datos
con la mera declaración de la clase no podemos hacerlo debemos incluir en
nuestro proyecto y nuestra clase la instancia de la librería solicitada.
La forma de incluir una librería en java es de la siguiente forma.
Esta librería nos sirve para manipular las fechas.
1.6.6 Definición de una clase
Las clases en java se declaran de la siguiente forma.
Métodos
Realicemos un ejemplo sencillo. Se necesita construir un programa que dado dos
números los sume e imprima el resultado.
Cree un proyecto descrito anteriormente en la sección Netbeans como IDE de
desarrollo y llámelo Suma y codifique el resto.
Al ejecutar el programa (clic derecho y escogemos la opción run file) deberá
mostrar:
“La
suma
de
2
y
5
es:
7”
1.6.7 Definición de un objeto de programación
Los objetos en programación son instancias de las clases, es decir se crean a
partir de una clase. Los objetos de las clases se crean a partir de la necesidad
que existe de la reutilización, entre otras cosas, de algo que ya se creó para no
volver a realizarlo y disminuir la redundancia de nuestro código. Si queremos
crear un objeto en java tomando en cuenta la clase anterior de Suma debemos
hacerlo de la siguiente forma.
Donde “Suma” me indica la clase a la cual voy a crearle un objeto “s” me indica
el nombre del objeto que puede ser nombrado de cualquier forma. La
instanciación del objeto ocurre solo cuando se escribe el “new” en ese momento
es que se instancia el objeto si no tengo el new y tenemos algo como Suma =
null; en este caso creo el objeto de “Suma” pero no está instanciado es decir no
puedo hacer uso de ningún método ni atributo de la clase Suma. Solo cuando se
escribe el new es cuando podemos hacer uso de todos los métodos y atributos
de la clase dependiendo del nivel de encapsulación, es decir los métodos y
atributos públicos que contenga la clase y son clases heredadas de los
protegidos.
1.6.8 Objeto del mundo real. Vs objeto de programación
Ya indicamos que un objeto en el mundo real es cualquier cosa, en
programación realizamos las clases a partir de las características de esos
objetos del mundo real (abstracción), entonces los objetos en programación los
creamos a partir de las clases. Los objetos entonces son variables de tipo clases.
1.6.9 Ejemplo del uso de otras clases:
Paso1: agregue un archivo new file tipo clase de java( java class) y
llamelo Operacion (sin tildes).
Paso2: Programe la clase operación así:
La clase operación contiene métodos públicos que reciben parámetros y
retornan un valor de acuerdo al método que se quiera utilizar.
Paso3: repita el paso 1 y cree otra clase llamada Realizaoperacion y
codifiquela.
La forma en la que se llaman a los métodos de la clase “Operación” es a través
del objeto que creamos “op” seguido de punto (.) y el método que se quiere
utilizar.
Paso4: Repita el paso 1 y cree otra clase llamada EjecutarOperacion
Paso5: Ejecute esta clase y observara los resultados. (Clic derecho sobre
el código y escogemos la opción run file)
RESUMEN DE LA UNIDAD
En esta unidad se definen los conceptos de la Programación orientada a objetos, la
importancia en la actualidad de esta disciplina de programación y sus principales
características, así como las diferencias que existen con el tipo de programación que la
precede y algunos de los motivos que llevaron a los ingenieros a replantearse un nuevo
paradigma de programación que pudiera cumplir con los requerimientos que se estaban
requiriendo en el momento. También en esta unidad se explica de una forma sencilla
los conceptos de la POO, con ejemplos basados en el entorno para dar una idea más
clara de los diferentes tipos de objetos. Se centrara en el lenguaje de programación
JAVA y se da una breve explicación de la sintaxis, variables, métodos, clases y objetos
en programación.
AUTOEVALUACION
Resuelva el siguiente cuestionario escogiendo solo la opción correcta
1.
La clase puede tener máximo
a-
ventacontado x = new ventacontado ( )
a-
1 constructor
b-
ventacontado x = new ventacontado;
b-
2 constructores
c-
ventacontado x = new ventacontado( );
c-
3 constructores
d-
ventacontado x = new ventacontado;
d-
No tiene límite
7.
Un mensaje se hace a través de:
2.
La clase debe tener mínimo
a-
una clase
a-
1 constructor
b-
un objeto
b-
2 constructores
c-
un atributo
c-
3 constructores
d-
un método
d-
no es necesario un constructor
8.
Los atributos representan:
los
a-
Los comportamientos
IVA,
b-
Las características
valortotal, estado) si en la clase solo se puede
c-
Los constructores
modificar la fecha y el cliente. Cuantos métodos
d-
Los modificadores
3.
Existe
siguientes
una
atributos
clase
venta
(fecha,
con
cliente,
set deben existir en la clase
a. 0
b.1
c. 2
9.
Un mensaje es necesario cuando:
d. 3
e. 4
f. 5
a-
Cuando en una clase se necesita de otra
clase
4.
Si la clase de venta permite usar todos
b-
Cuando en una clase se necesita de la
atributos deben existir cuantos métodos get
misma clase
a. 0
b.1
c. 2
c-
d. 3
e. 4
f. 5
clase
d-
Cuando en un objeto se necesita de otra
Cuando una clase se necesita así
5.
una clase en poo es:
a-
Un objeto de poo
b-
Abstracción de un objeto del mundo real
10.
c-
Un objeto del mundo real.
crear una clase se debe tener en cuenta que:
d-
abstracción de un objeto poo
a-
una clase siempre es la misma
b-
la lógica del negocio
c-
las clases siempre deben ser públicas
d-
las posibles clases que vayas a utilizar
6.
Como se define un objeto de la clase
ventacontado en java:
misma
Cuando se hace una abstracción para
11.
con una clase se puede construir
d-
tienen acceso total
16.
Cual de las siguientes opciones es la
a- 20 objetos b- 2000 objetos
c- 30 objetos d- infinitos objetos
causa principal para que la POO este tan
12.
un objeto en POO es
a- Un vector
b- una variable
c- algoritmo
d- un método.
difundida a nivel mundial.
a- Mantenibilidad
b- Privado
c- Publico
13.
los atributos deben ser
a-
privados
b-
una variable
c-
públicos
d-
pueden ser de varios tipos
14.
los métodos deben ser generalmente
a-
privados
b-
públicos
c-
protegido
d-
pueden ser de un tipo
15.
si todo los métodos de una clase padre
d- Protegido
17.
Cual de las siguientes opciones hace
parte de una de las causas de la POO en la cual
se permite hacer modificaciones de una forma
sencilla.
a- Herencia
b- Clase
c- Mantenibilidad
d- Modificabilidad
18.
son privados implica que todas las clases de
hijas
hace parte de la importancia de la POO.
a- Herencia
b- Mensaje
a-
no tienen acceso
b-
tienen acceso solo a los métodos
constructores.
c-
señala cual de las siguientes opciones
pueden usar los métodos de las clases
“hermanas”
c- Reusabilidad
d- Todas las anteriores
UNIDAD 2
DISEÑO DE INTERFACES GRAFICAS CON LOS OBJETOS GRAFICOS
DE LA
LIBRERÍA SWING Y VALIDACION DE INFORMACION.
2.1
Consideración en el diseño de una GUI:
2.2
Contenedores y componentes gráficos (Objetos
gráficos)
2.2.1 Formularios: Clase jFrame
2.2.2 Cajas de textos: Clase jTextField.
2.2.3 Etiquetas: Clase jLabel.
2.2.4 Listas despegables: Clase jComboBox
2.2.5 Áreas de textos: Clase jTextArea.
2.2.6 Botones de opciones: Clase jRadioButton
2.2.7 Botones: Clase jButton
2.2.8 Métodos importantes en los componentes
2.2.9 Más componentes, ejemplo con Netbeans
2.2.10 El método initComponents
2.2.11 Eventos
2.3
Creación de clase de validación.
2.4
Validación de los objetos gráficos de un
formulario utilizando la clase de validación creada en la
sección anterior.
PRESENTACIÓN
En la presente unidad estudiaremos el tema de diseño de interfaz grafica de
usuario (GUI), la cual consiste en la manera como el usuario final 3 va a interactuar
con el sistema de información a través de los diferentes componentes gráficos
que ya existen tales como campos de textos, listas desplegables, áreas de textos,
casilla de verificación, entre otros. Todos estos objetos gráficos son clases ya
existentes, las cuales tienen sus propios atributos y métodos que estudiaremos
para poder utilizarlos en cualquier GUI, y podremos utilizar todas las ventajas
POO.
Generalmente las GUI sirven para comunicación con la base de datos
(inserción, modificación, eliminación y búsquedas de información), estas bases de
datos deben recibir información correcta, con lo cual es muy importante que
después de estar creada la GUI se valide la información que el usuario final va a
ingresar a ella, porque de esta información dependerán los informes solicitados.
“Si la información no es correcta qué esperar de los informes?”
PLANTEAMIENTO DEL PROBLEMA:
¿Cómo se puede diseñar y validar interfaces graficas de usuarios utilizando las
clases la POO a la hora del desarrollo de los sistemas de información?
COMPETENCIAS ESPECÍFICAS
 Diseñar una interfaz grafica de usuario utilizando las clases la POO.
 Validar la información digitada por el usuario final utilizando la POO.
DINÁMICA PARA CONSTRUIR EL CONOCIMIENTOS
ACTIVIDAD PREVIA: Trabajo independiente
3
Definición de Usuario final http://es.wikipedia.org/wiki/Usuario_final
 Antes de comenzar la lectura de la unidad responda de manera escrita lo
que usted entiende por:
o Interfaz grafica de usuario
o Contenedores y componentes de una interfaz grafica de usuario.
o Validación de interfaces de usuarios (generalmente lo encuentran
como formulario)
ACTIVIDAD PREVIA: Trabajo en grupo
 Reunidos en sus grupos confronte sus saberes previos con los de sus
compañeros y tome de referencia la GUI de creación de cuenta en Hotmail4
e identifique y cuente los contendores, además muestre con imágenes las
validaciones que en ella aparecen.
Recomendaciones generales:
 Lea detenidamente la unidad II.
 Una vez leída la unidad, confronte sus saberes previos con lo aprendido en
la unidad.
 Socializar en el grupo los diferentes temas tratados en la Unidad II.
 Desarrollar las actividades propuestas en cada apartado.
4
Creación de cuenta Hotmail
https://signup.live.com/signup.aspx?wa=wsignin1.0&rpsnv=11&ct=1373578119&rver=6.1.6206.0&wp=MBI
&wreply=http%3a%2f%2fmail.live.com%2fdefault.aspx&id=64855&cbcxt=mai&snsc=1&bk=1373578121&uif
lavor=web&mkt=ES-ES&lc=3082&lic=1
2. DISEÑO DE INTERFACES GRAFICAS DE USUARIOS (GUI) CON LOS
OBJETOS GRAFICOS
DE LA LIBRERÍA SWING Y VALIDACION DE
INFORMACION.
Algunas definiciones de interfaz grafica de usuario:
En [30] la definen como: “La interfaz gráfica de usuario, conocida también como
GUI (del inglés graphical user interface) es un programa informático que actúa de
interfaz de usuario, utilizando un conjunto de imágenes y objetos gráficos para
representar la información y acciones disponibles en la interfaz. Su principal uso,
consiste en proporcionar un entorno visual sencillo para permitir la comunicación
con el sistema operativo de una máquina o computador”
En [31] la definen como: “La interfaz de usuario es la parte del programa que
permite al usuario interaccionar con él“
En [32] la definen como: “es un mecanismo que posibilita la comunicación entre la
persona (el usuario) y el computador (el sistema informático en general)”
De las definiciones anteriores vemos que las GUI son las que nos ayuda a utilizar
los computadores y por ende todo lo que ellos posee a nivel de hardware y
software, imaginemos por un momento un computador con una GUI totalmente en
blanco (sin nada), ¿que haríamos?, donde hiciéramos clic, donde escribiríamos.
2.1 Consideración en el diseño de una GUI:
Basándonos en [32] y [33], al momento de crear una GUI debemos tener en
cuenta muchos factores en cuenta entre los cuales destacamos:
•
Debe ser intuitiva
•
Definir los modos de interacción: Flexibles y adecuados
•
Dar opciones de interrumpir una acción, volver a ejecutar una acción
•
Pasos repetidos: macros
•
Mantener una interfaz consistente fuente, colores, distribución de los
controles, terminología
•
Navegabilidad entre interfaces, volver atrás o regresar al principal
•
Facilidades de ayuda
•
Categorización de las funciones
2.2 Contenedores y componentes gráficos (Objetos gráficos)
Los componentes de una GUI son elementos gráficos que permiten que
interactuamos con los sistemas de información, los más comunes que
encontramos son: botones, cajas de textos, listas desplegables, barras de
menú, áreas de texto,
entre otras,
lenguajes de programación estos
Gracias a la POO en la mayoría de
componentes ya están programados y
permiten ser manejados a través de sus métodos.
Los contenedores de una GUI son como su nombre lo indica los que permiten
contener, ordenar, agrupar los componentes.
En JAVA y gracias al entorno de desarrollo NETBEANS podemos utilizar los
componentes y los contenedores de una manera muy fácil, agradable y sin la
necesidad de utilizar código.
En java se utiliza dos librerías para la parte grafica, la AWT y la SWING, esta
ultima remplazó de a la primera en cuanto a los componentes utilizado por lo
cual utilizaremos la librería Swing.
En la siguiente imagen podremos ver algunos de los componentes más usados
Formularios: Clase jFrame
Tomando como base una de las definiciones de la real academia “Impreso
con espacios en blanco”, un formulario en programación es un área donde
encontraremos un conjunto de componentes gráficos que aparecerán en
blanco para que el usuario final los diligencie.
Agregar un formulario usando netbeans.
•
Hacemos clic derecho la carpeta de las fuentes del proyecto
escogemos new y luego JFrame Form así:
•
Aparecerá la siguiente pantalla donde escribiremos el nombre de la
clase. Observar que en el campo Package diga el proyecto donde
estamos trabajando en este caso miprimerproyecto.
•
Le damos clic finish y listo hemos creado nuestro primer formulario.
2.2.1 Cajas de textos: Clase jTextField.
Una caja de texto es un espacio rectangular dentro del formulario en el cual se
puede digitar información alfanumérica y se usa en los formularios para pedir
información abierta que no es muy larga o requiera tabulaciones o cambio de
línea.
2.2.2 Etiquetas: Clase jLabel.
Una etiqueta es un texto fijo que aparecerá en el formulario
2.2.3 Listas despegables: Clase jComboBox
Una Lista despegable es un espacio dentro del formulario en el cual se puede
escoger información alfanumérica dentro de una lista de opciones y se usa en los
formularios para pedir información cerrada, limitada mediana.
2.2.4 Áreas de textos: Clase jTextArea.
Una área de texto es un espacio rectangular dentro del formulario en el cual se
puede digitar información alfanumérica y se usa en los formularios para pedir
información abierta que puede ser muy larga o requiera tabulaciones o cambio de
línea.
2.2.5 Botones de opciones: Clase jRadioButton
Un botón de opción es un espacio dentro del formulario en el cual se puede
escoger información alfanumérica dentro de unas opciones y se usa en los
formularios para pedir información cerrada, limitada pequeña.
2.2.6 Botones: Clase jButton
Un botón es un espacio dentro del formulario en el cual podemos ordenar a que la
GUI realice algún procedimiento, ejemplo volver a principal, enviar información a la
base de datos entre otra.
2.2.7 Métodos importante en los componentes
COMPONENTE
METODO IMPORTANTES
ALGUNAS
ELEMENTO
PROPIEDADES
GRAFICO
Cuadro de textos setText(String):
(objetos
lleva
de información a la caja de texto
jTextField)
ejemplo
jTextField1,
jTextField1.setText(“hola”); en la
jTextField2
caja de texto quedara escrito
Cuadro
de
hola.
contraseña (objetos getText(): trae la información Ensayar y analizar
de jPasswordField) que tiene la caja de texto escrito qué pasa.
jPasswordField1,
jPasswordField2.
Etiqueta (objetos de
jLabel)
jLabel1,
jLabel2.
Área
en formato de String ejemplo La mayoría de las
String
propiedades
se
nombre=jTextField1.getText();
pueden
modificar
en la variable nombre queda también
almacenado lo que tiene la caja métodos
de texto escrito.
de
(objetos
text
por
ejemplo
se
puede
modificar
con
setText(valor
texto
en
string).
de
jTextArea)
jTextArea1,
jTextArea2.
Botones de opción isSelected(): devuelve falso o buttonGroup: permite
(objetos
de verdadero dependiendo si el escoger a qué grupo
jRadioButton)
jRadioButton esta seleccionado pertenece el botón
jRadioButton1,
ejemplo
jRadioButton2
jRadioButton1.isSelected();
Para este objeto es
de opción.
Dentro de un grupo
solo
se
permitirá
necesario agregar un
seleccionar un solo
botón de opción.
Este objeto no se ve
en pantalla.
Para que se pueda
seleccionar una sola
de varias opciones y
a
cada
Ensayar y analizar
objeto
jRadioButton
qué pasa.
que
vayan a pertenecer
al mismo grupo se
debe
modificar
la
propiedad
escogiendo al grupo
al cual pertenece
Casilla
de isSelected(): devuelve falso o Muy parecidas al de
verificación
verdadero dependiendo si el los RadioButton
(objetos
de jCheckBox esta seleccionado
jCheckBox)
ejemplo
jCheckBox1,
jCheckBox2.isSelected();
jCheckBox2
Tabla
jTable)
jTable2
(objetos
de setValueAt(valor a enviar tipo Una
de
las
jTable1, Objetc, fila, columna); lleva propiedades
más
información a la tabla en la fila y importante
es
la
columna escogida .
propiedad
model
ejemplo
puesto que aquí nos
jTable1.setValueAt(“Wilson”, 0, permite
1);
crear
las
lleva Wilson a la fila 0 columnas de la tabla.
columna 1
getValueAt(fila, columna); trae
información de la tabla en la fila
y columna escogida. se debe
saber el tipo de variable que
tiene la columna para convertirla
ejemplo: supongamos que la fila
1 sea string entonces quedaría
así
String
nombre=
jTable1.getValueAt(0,1).toString
();
en
variable
nombre
queda
almacenado lo que tiene la tabla
en la fila 0 columna 1.
Botones (Objetos de
jButton)
para
jButton1,
programar
un
imagen en el botón
jButton2. Se utilizan
básicamente
colocar
para
eventos
(acciones).
Lista
de
las
(Objeto jComboBox) selecciona la información a la propiedades
más
se
desplegable: setSelectedItem
utiliza
tenemos
limitadas.
(Object): Una
cuando lista desplegable. Debe existir lo importante
opciones que le enviamos como Object.
Ejemplo
jComboBox1.
setSelectedItem(“Item 2”); en la
lista
desplegable
quedara
es
propiedad
la
model
puesto que aquí nos
permite crear
de opciones.
lista
seleccionado Item 2.
getSelectedItem()
trae
la
información que tiene la lista
desplegable
Object,
toca
en
formato
de
convertirlo
en
String agregando toString();
Ejemplo: sea la variable
String sexo = jComboBox1.
setSelectedItem().toString(); en
la
variable
sexo
queda
almacenado lo que tiene la lista
desplegable escogido
addItem(Object): para agregar
un nuevo ítem desde código
ejemplo:
jComboBox1.addItem("xxx");
queda creado un nuevo Item en
la lista xxx.
2.2.8 Mas componentes, ejemplo con Netbeans
Luego de crear el formulario aparecen en la parte izquierda de su pantalla los
componentes y los contenedores gráficos:
En este caso utilizaremos los componentes (Swing Controls) para realizar nuestra
primera GUI.
Diseñando mi primera GUI
•
Bastara con hacer clic sostenido sobre el componente que se quiere
y luego soltarlo en el formulario, ejemplo escogemos una etiqueta
jLabel y lo arrastramos hasta el formulario.
•
Para escribir lo que se quiere en el jLabel, verificamos que este
seleccionado (tiene los cuadritos alrededor) sino lo seleccionamos
con un clic sobre él.
•
Buscamos la parte donde están las propiedades o atributos.
•
En la propiedad text escribimos lo que se quiere que aparezca en la
etiqueta.
•
Y listo hemos agregado la etiqueta
•
En la propiedad font podremos escoger el tipo, estilo y tamaño de
letra haciendo clic en
•
.
Al igual que en la propiedad foreground podremos escoger el color
haciendo clic en su respectivo
.
Para agregar los demás componentes se hace de la misma manera, repase
la sección Métodos importante en los componentes, observe las
propiedades y recomendaciones de los componentes gráficos.
Tenga en cuenta que es obligatorio que cuando se agreguen los botones de
opción a una GUI se debe agregar al menos un componente
buttonGroup para agruparlas y permitir
de
que de todas las opciones se
escoja una sola. Además cuando se agregue información a una lista
desplegable a través de la propiedad model, en la primera opción coloque
“Seleccione” (la letra S mayúscula) para efectos de validación más
adelante, ejemplo:
Creemos una GUI para la siguiente tabla de la base de datos.
Niño
Documento
Nombre
Apellido
Sexo
Grado
El documento, el nombre y el apellido deben pedirse con cajas de textos
(jTextField) porque tienen posibilidades infinitas. Ejemplo: preguntémonos cuantos
nombres existen o cuantos documentos o cuantos apellido, la respuestas seria
que existen muchísimos.
El sexo se siguiere pedirlo con
botones de opción puesto que son solo dos
opciones
El grado se sugiere pedirlo con lista desplegable
Realicemos un análisis de los objetos que contiene nuestra primera GUI
•
7 etiquetas - jLabel
•
3 Cajas de Texto - jTextField
•
4 botones – jButton
•
2 botones de opción - jRadioButton
•
1 lista desplegable – jComboBox
•
Grupo de botones - buttonGroup este no se visualiza, pero permite que en
los botones de opción se seleccione solo uno
Para ver funcionando nuestra primera GUI debemos programar en la clase del
proyecto (la que se creó cuando creamos el proyecto por primera vez) una
referencia un objeto de nuestra primera GUI así:
Clase del
proyecto
Y procedemos hacer clic en
para ver nuestra primer GUI funcionando.
Hasta hemos creado satisfactoriamente nuestra primer GUI pero ahora mismo los
botones no están funcionando puesto que no hemos programado ningún evento
para que se ejecute.
2.2.9 El método initComponents
El método initComponents es un método que crea “automáticamente” netbeans y
en él se encuentra todo lo creado referente por la interfaz grafica.
Para verlo nos vamos al código a través source
Aparecerá el código de nuestro clase en este caso el del la clase
MiPrimerFormulario
Y Hacemos clic en el en botón + cerca a
codificación de los componentes gráficos
concepto y la importancia de POO.
y aparecerá la
donde podremos apreciar todo el
Podemos apreciar la creación de los 7 objetos de la clase jLabel, 4 objetos de la
clase jButton, los 3 objetos de la clase jTextField, los 2 objetos de jRadioButton, un
objeto de jComboBox y el de buttonGroup. Además podemos ver todos
los
métodos que se utilizaron para crear la GUI. Todo es código generado gracias a
nuestro IDE de desarrollo netbeans.
2.2.10 Eventos
Los eventos son todas las acciones con las cuales el usuario interactúa con la
GUI, dar clic sobre un botón, presionar las teclas del teclado, entre otros. Cada
vez que se produce un evento, se crea un objeto. La clase padre de los eventos es
"java.awt.event".
Cada lenguaje de programación tiene su propio modelo de eventos, en Java se
definen clases auxiliares llamadas escuchadores (listeners) que reciben eventos
específicos 5.
No es propósito de este modulo profundizar en este tema, se trabajará solo el
evento clic del botón.
Creando GUIS y programando los eventos de los botones.
Pasos
1. Cree un proyecto llamado operaciones:
2. Cree 5 formulario - jFrame realice el procedimiento descrito anteriormente
CLASE O ARCHIVO: Principal
5
http://victoralex-poo.blogspot.com/2011/04/eventos-excepciones-y-errores.html
CLASE O ARCHIVO: Sumar
CLASE O ARCHIVO: Restar
CLASE O ARCHIVO: Multiplicar
CLASE O ARCHIVO: División
3. Programe todos eventos de los botones de todas las interfaces
Para programar los botones se debe hacer doble clic sobre ello.
Botones de la interfaz principal:
Los botones de la interfaz principal se programan de manera muy similar,
puesto que lo que se quiere es que abra otra ventana (navegabilidad).
•
Doble clic sobre el botón y aparecerá la fuente(el código)
•
Justo hay debemos programar la navegabilidad hacia el formulario
donde queremos ir en este caso queremos ir al formulario suma.
En forma general para la navegabilidad se usa el siguiente
código:
NombredelaClase variable = new NombredelaClase(); //se
crea el objeto
variable.setVisible(true); //se hace visible el formulario
this.dispose(); //se cierra el anterior.
•
El botón ir suma quedaría programado así:
•
Para programar el resto de botones de navegabilidad (ir a otro
formulario) se repiten los paso anteriores.
BOTON:
Se da doble clic y el código para cerrar la aplicación es
System.exit(0);
Botones de la interfaz suma:
Las cajas de texto se llaman jTextField1 y jTextField2 y donde se
quiere la respuesta es jLabel5.
BOTON
Para hacer el botón sumar recordar los conceptos vistos en el modulo
algoritmos.
El algoritmo de sumar seria:
Inicio
Leer num1
Leer num2
res=num1 + num2;
Escribir “la suma es ”,res
fin
Para hacer este algoritmo en java nuevamente usamos clases que ya
existen para facilitarnos el trabajo (POO) pero la lógica se mantiene
Se da doble clic en el botón sumar y el código es el siguiente:
try
//por si hay error en la lectura de los datos
{
int num1,num2,res=0;
// definimos las variables
num1=Integer.parseInt(jTextField1.getText());
// leer num1
num2=Integer.parseInt(jTextField2.getText());
// leer num2
res=num1+num2;
jLabel5.setText(""+res);
// operación
//mostrar resultados
}
catch(Exception e) // captura el error
{
JOptionPane.showMessageDialog(null,"Ha ocurrido un error en el
boton sumar"+e.getMessage());
//muestra el mensaje de error
}
También se debe agregar un paquete (librería) en la parte superior del
código para manejar mensajes gráficos (JOptionPane) así;
BOTON:
Se da doble clic y el código es el siguiente
BOTON:
Se programa como una navegabilidad.
2.3 CREACIÓN DE CLASE DE VALIDACIÓN
En este caso se trata de crear una clase que nos permita validar la información de
una GUI y poderla utilizar en todos los proyecto de aquí en adelante.
Existen muchas formas de validación de información en las GUI, en este modulo
las clasificaremos y seguiremos un orden.
Clasificación de validación
•
Validación de blancos o vacio:
Es cuando el componente no ha recibido ninguna información del usuario.
El error ocurre cuando en una caja de texto, simplemente no ha escrito
nada, en un lista desplegables podemos dejar una primera opción que diga
seleccione y si el usuario no escoge otra, sabremos ocurrirá el error y en un
botón de opciones simplemente no ha escogido ninguna opción.
•
Validación numérica:
Cuando en un campo se requiera una información numérica ya sea entera o
sea real ejemplo un valor, un saldo, una cantidad entre otras. El error ocurre
cuando en una caja de texto escriben algo diferente a número, en una lista
desplegable y en los botones de opciones no hay necesidad de validar esta
forma de validación.
•
Validación de rango
Cuando en un campo se requiere validar limites numéricos ejemplo que el
valor no sea negativo (>0). El error ocurre cuando en una caja de texto
números superando los límites propuestos, en una lista desplegable y en
los botones de opciones no hay necesidad de validar esta forma de
validación.
Clase validación
2.4 VALIDACION DE LOS OBJETOS GRÁFICOS DE UN FORMULARIO
UTILIZANDO LA CLASE DE VALIDACIÓN CREADA EN LA SECCIÓN
ANTERIOR
Retomemos el ejemplo del registro de niños en la sección 2.3.9
Para la validación de cualquier GUI seguiremos los siguientes pasos
•
Crearemos un método que se llame Validación que reciba como parámetros
los campos a validar. en este caso 4 campos de tipo String porque no se
tiene en cuantos los botones de opción, para validarlos lo haremos
directamente dependiendo del número de ellos que este en el grupo.
La intención de este método de “Validación” es indicar si hay error retorna
falso (false), si no hay error retornara verdadero (true), para cuando se
quiera guardar la información, en otras palabras, si hay error no se
guardará la información en la base de datos.
•
Creación del objeto validación.
•
Empezar a validar campo por campo utilizando la clase validación que ya
creamos siguiendo el orden sugerido: primero validar blancos, luego
numéricos y por último rango utilizándola estructura de control si (if)
anidados. Para este ejemplo debemos validar 5 blancos, un numérico
(documento) y vamos a suponer que el documento debe ser mayor a
999.999 y menor a 1.000.000.000
Para
validación
de
campos
vacios
utilizamos
el
método
ValidarCampoVacio de la clase validación:
Ejemplo validemos el campo documento
Para la validación de los demás campos toca utilizar IF anidados, es decir
IF dentro de IF así:
Y así sucesivamente.
Para validar los botones de opciones se hará el siguiente IF:
Dentro del método validación quedaría así;
Cuando vayamos a comparar las listas desplegables (jComboBox)
El cual lo incluiremos dentro del ultimo if.
Para
validación
de
campos
numéricos
utilizamos
el
método
ValidarNumeroEntero para números entero y ValidarNumeroReal para
números reales de la clase validación:
Ejemplo validemos que el campo documento sean numérico entero.
Este if se incluye dentro del último if.
Para validación de rango utilizamos el método ValidarRango de la
clase validación:
Ejemplo: validemos que el documento sea mayor a 999.999 y menor a
1.000.000.000
Este if se incluye dentro del último if.
Parte superior de Método Validación observe la estructura de los IF
…
Y listo hasta aquí hemos creado un método que nos valida toda la
información de la GUI de registro de niños
Probando el método de validación
Solo necesitamos llamarlo desde el evento de un botón guardar y pasarle
los parámetros necesarios que están en los componentes gráficos así:
Y luego ejecutamos el proyecto.
RESUMEN DE LA UNIDAD
En esta unidad se explica las consideraciones generales al momento de diseñar
una interfaz grafica de usuario (GUI), algunos de los diferentes contenedores y
componentes gráficos, además se trabajan ejemplos prácticos con el IDE de
desarrollo netbeans. De igual forma se muestra el ejemplo paso a paso de
validación una GUI.
AUTO EVALUACION
1. Tomando como referencia el ejercicio del observador del alumno
desarrollado en el modulo de bases de datos, realice una interfaz grafica
de usuario para cada una de las tablas del ejercicio.
Estudiantes
Familiar
Acudiente
Identificación
Identificación
Identificación
Nombre
IdentificacionEstudiante
IdentificacionEstudiante
Apellidos
Nombre
Nombre
Fecha de nacimiento
Apellidos
Apellidos
Dirección
Dirección
Dirección
Teléfono
Teléfono
Teléfono
e-mail
e-mail
E-mail
Género
Profesión
Profesión
Peso
Nivel académico
Nivel académico
Rasgo familiar
Talla
RH
Grado
Grupo
Jornada
Situación vulnerabilidad
Numero de hermanos
Número de personas
Estrato social,
Discapacidad
CodigoSeguridadSocial
Información
Académica
IdentificacionEstudiante
Colegio de procedencia
Grados realizados
Jornada
Tipo de institución
Motivo del retiro
grados repetidos
Fecha de retiro
Aptitud Vocacional
Seguridad Social
Código
Nombre
tipo de seguridad
Anotación
DocenteDirectorGrupoI
IdentificacionEstudiante
dentificación
IdentificaciónDocente
Nombre
Fecha
Apellidos
Observación realizada
Dirección
Seguimiento
Teléfono
Acción tomada
e-mail
Compromisos.
Profesión
Grado
Grupo
2. Valide cada una de las interfaces realizadas en el punto anterior.
3. Cree una interfaz principal con botones para acceder (navegabilidad) a
cada una de las GUI realizadas en el punto 1.
UNIDAD 3
COMUNICACIÓN A BASE DE DATOS Y REPORTES
3.1 Creación de clases de comunicación JAVA con
MYSQL
3.2Guardar información en la base de datos de
una interfaz grafica validada usando la clase
Conexión
3.3 Actualizar información en la base de datos de
una interfaz grafica validada
3.4Eliminar información en la base de datos de
una interfaz grafica validada
3.5Buscar información por llave primaria desde
una base de datos de una interfaz grafica
PRESENTACIÓN
En esta unidad abordaremos el tema de comunicación de la GUI con la base de
datos utilizando el IDE de desarrollo netbeans. La importancia de este tema radica
en que a través de GUI podremos guardar, actualizar, eliminar y buscar
información que tenemos almacenada.
PLANTEAMIENTO DEL PROBLEMA
¿Cómo se puede establecer la comunicación entre la GUI y las bases de datos
para el desarrollo de sistemas de información dentro de su institución que
permita mejorar los procesos?
COMPETENCIAS ESPECÍFICAS
•
Establecer comunicación entre la GUI y las bases de datos
•
Guardar, actualizar, eliminar y buscar información desde la base de datos.
DINÁMICA PARA CONSTRUIR EL CONOCIMIENTOS
ACTIVIDAD PREVIA: Trabajo independiente
Contesta las siguientes preguntas
1. Define con tus propias palabras lo importancia que tienen las bases de datos
2. Porque es importante que haya una buena comunicación entre la GUI y la base
de datos.
3. Porque es necesario imprimir información en una sistema de información.
COMUNICACIÓN CON BASES DE DATOS
3.1 CREACIÓN DE CLASES DE COMUNICACIÓN JAVA COM MYSQL
Al igual que en el tema de validación crearemos una clase que nos permita
trabajar de una manera simple la comunicación con la base de datos en todos
los proyectos que necesitemos crear.
En esta clase crearemos los métodos que nos permitan establecer la
comunicación, llevar información y buscar en la base de datos.
Lo primero que hay que tener en cuenta para poderse comunicarnos es que
necesitamos el nombre de la base de datos, el usuario y la contraseña, que
utilizaremos en el método Conectar() para poder comunicarnos con la base de
datos y obtener el permiso para poder guardar, actualizar, eliminar y buscar
información.
Lo segundo a tener
en cuenta es que para guardar, actualizar y eliminar
necesitaremos un solo método el Ejecutar() el cual simplemente ejecuta la
sentencia SQL en la base de datos.
Lo tercero a tener en cuenta es que para buscar información utilizaremos un
solo método el Consulta() el cual ejecutara la consulta en la base de datos y
traerá información de regreso con ayuda de la clase .
Por último se debe crear un método el Desconectar() que cierre la
comunicación para liberar recursos del sistema de información.
La clase Conexión quedaría así
Guardar información en la base de datos de una interfaz grafica validada
usando la clase Conexión
En este punto retomarnos el ejemplo de registro de niño el cual la GUI ya fue
validada
Para guardar información en la base de datos se siguen los siguientes pasos.
•
Se debe crear una base de datos en mysql para este ejemplo llamémosla
colegio.
•
Dentro de esa base de datos se debe crear la tabla que se utilizo para
diseña nuestra GUI
Nino
Documento
Nombre
Apellido
Sexo
Grado
•
El primer paso es agregar la biblioteca MYSQL –JDBC, la cual es la que
nos ayuda en todo lo referente a la comunicación con la base de datos. Esta
biblioteca solo se debe agregar una sola vez por cada proyecto.
Para agregarla seguimos los siguientes pasos
o Clic derecho sobre Libraries (biblioteca) y luego en Add Library
(agregar biblioteca) así
o Por último se escoge la biblioteca Driver MySQL JDBC y se da
clic en agregar biblioteca así:
o Verifique que dentro de biblioteca haya quedado ya insertada
así:
•
Una vez creado la tabla procedemos en java a crear un método en la GUI
que se llame guardar que recibe los parámetros necesarios en para guardar
la información (documento, nombre, apellido, sexo y grado).
•
Creamos el objeto de conexión que necesitamos para la comunicación con
la base de datos y llamamos al método que nos hace la comunicación con
la base de datos. Le debemos pasar los parámetros de conexión, el nombre
de la base de datos, el usuario y la contraseña. Además lo llamamos dentro
de un IF para verificar que si se logro conectar correctamente.
•
Ahora creamos la instrucción SQL de guardar y la ejecutamos con el método
ejecutar de la clase conexión, también dentro de if para verificar que
efectivamente ejecuto la instrucción SQL.
•
Por último desconectamos la comunicación.
•
Y listo hemos creado el método que nos guardara la información en la base
de datos. Solo faltaría llamarlo con los parámetros completos dentro del
botón guardar previa validación. Además
hacemos un IF donde
preguntemos cual de los botones de opción esta elegido y asignamos una
variable para el campo sexo así:
•
Ejecutemos el proyecto y guardemos información.
3.2 ACTUALIZAR INFORMACIÓN EN LA BASE DE DATOS DE UNA INTERFAZ
GRAFICA VALIDADA
Para actualizar información lo hacemos muy similar a guardar y seguimos los
siguientes pasos
•
Creamos un método que se llame actualizar que reciba todos los
parámetros.
•
Hacemos lo mismo que en guardar solo que instrucción SQL utilizamos la el
UPDATE que es el que nos permite actualizar
•
Si observamos bien es casi idéntico al método guardar lo único que cambia
es la instrucción SQL.
•
Por último se llama de una manera muy similar al método guardar pero en
este caso se llama al método actualizar y se cambia el mensaje enviado a
actualizado correctamente.
•
Ejecutemos el proyecto y probemos la funcionalidad.
3.3 ELIMINAR INFORMACIÓN EN LA BASE DE DATOS DE UNA INTERFAZ
GRAFICA VALIDADA
Para eliminar información lo hacemos muy similar a guardar y actualizar, seguimos
los siguientes pasos
•
Creamos un método que se llame eliminar que reciba solo el parámetro de
llave primaria o código de la tabla, en este caso documento
•
Hacemos el métodos que elimine
•
Si observamos bien es casi idéntico al método guardar lo único que cambia
es la instrucción SQL y que recibe un solo parámetro.
•
Por último para llamar al método eliminar no es necesario validar todo,
solamente se debe validar el documento, crearemos un método validar que
solo valide el documento. (Siguiendo las mismas indicaciones de la sección
validación de los objetos gráficos de un formulario utilizando la clase de
validación) así:
•
Por último llamamos al método eliminar dentro del botón Eliminar así:
•
Ejecutemos el proyecto y probemos la funcionalidad.
3.4 BUSCAR INFORMACIÓN POR LLAVE PRIMARIA DESDE UNA BASE DE
DATOS DE UNA INTERFAZ GRAFICA
Para buscar información, utilizaremos la misma clase ya creada de conexión, los
pasos son los siguientes:
•
Crear un método en la GUI que se llame buscar que solamente como
parámetro reciba la llave primaria en este caso el campo documento.
•
Creamos el objeto de conexión que necesitamos para la comunicación con
la base de datos y llamamos al método que nos hace la comunicación con
la base de datos. Le debemos pasar los parámetros de conexión, el nombre
de la base de datos, el usuario y la contraseña. Además lo llamamos dentro
de un IF para verificar que si se logro conectar correctamente.
•
Agregamos de la librería java.sql.* en la parte superior en esta librería se
encuentra la clase Resultset.
•
Ahora creamos un objeto de la clase Resultset, la cual es una clase que
guarda la información que la base de datos le envía a java cuando se hace
una búsqueda.
•
Hacemos la instrucción SQL de buscar y la ejecutamos con el método
consulta de la clase conexión y lo que el método devuelve se lo asignamos
al objeto resultado así:
•
Seguidamente debemos preguntar si en el objeto resultado quedo
almacenada información. Si trajo información la enviaremos a la GUI en
caso contrario enviaremos un mensaje diciendo que con ese documento no
existe ningún niño. Para realizar este procedimiento encerrar todo con
sentencia try catch por si sucede un error en el objeto resultado así :
•
Para enviar la información a la GUI tenemos que tener en cuenta al objeto.
Por ejemplo el nombre está en el objeto jTextFiel2. Además tendremos en el
campo sexo que realizar una pregunta para saber cual objeto de los botones
de opciones hay que activar.
El envió a la GUI quedaría así:
•
Por último desconectamos la comunicación.
•
Y listo hemos creado el método que nos buscara la información en la base
de datos y mostrarla en la GUI. Solo faltaría llamarlo con el parámetro dentro
del botón buscar previa validación del campo documento.
•
El método completo quedaría así:
•
Llamar al método dentro del evento del botón buscar.
•
Ejecutemos el proyecto y probemos.
RESUMEN DE LA UNIDAD
En esta unidad se trabaja con un ejemplo práctico la comunicación de la GUI con
la base de datos, permitiendo guardar información nueva, actualizar y eliminar
información existente todo a través de una clase llamada conexión que podrá ser
utilizada en todos los proyectos que deseen desarrollar. También se explica la
forma de recuperar y/o buscar información desde la base de datos y mostrarla en
la GUI
AUTO EVALUACION
Tomando como referencia el ejercicio del observador del alumno, comunique
todas las GUI del la autoevaluación de la unidad 2 con la base de datos.
1. Cree un método en cada interfaz que permita guardar la información
solicitada.
2. Cree un método en cada interfaz que permita actualizar la información
solicitada por código o llave primaria.
3. Cree un método en cada interfaz que permita eliminar la información
solicitada por código o llave primaria
4. Cree un método en cada interfaz que permita buscar la información
solicitada por código o llave primaria
BIBLIOGRAFIAS
•
[1] Flores, J.J. (2011). Método para la solución de problemas utilizando la
Programación Orientada a Objetos. Aspectos básicos. Recuperado de
http://books.google.com.co/books?id=SwKICMJUS0C&pg=PA41&dq=que+es+el+lenguaje++java&hl=es&sa=X&ei=pU7f
UeziGoX_4AOS9oDwDA&ved=0CGMQ6AEwCQ#v=onepage&q=que%20es
%20el%20lenguaje%20%20java&f=false
•
[2] Oracle. (2011).Qué es la tecnología Java y por qué lo necesito?
Recuperado de http://www.java.com/es/download/faq/whatis_java.xml
•
[3] BARBANCHO, J., BENJUMEA, J., ROMERO, O., ROMERO, M.,
ROPERO, J., SANCHEZ, G. y SIVIANES F. (2010). Servicios en red.
España: Paraninfo
•
[4]
NetBeans.
(2012).
Recuperado
de
http://www.guia-
ubuntu.com/index.php/NetBeans.
•
[5]
Introducción
a
iReport.
(2005).
Recuperado
de
http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=ireport
•
[10] Joyanes, J,. Programación Orientada a Objetos. (1996). España:
McGraw-Hill.
•
[11] Ventajas de la programación orientada a objetos. (2010). Recuperado
de http://www.ciberaula.com/articulo/ventajas_poo/
•
[12] Martínez, F., Martin, G. (2003). Introducción a la programación
estructurada en C. España: Maite Simón
•
[13] Programación orientada a objetos versus programación estructurada:
C++
y
algoritmos.(2002).
Recuperado
de
http://www.mcgraw-
hill.es/bcv/guide/capitulo/8448146433.pdf
•
[14]
Lenguajes
de
programación.
(2008).
Recuperado
de
http://guimi.net/descargas/Monograficos/G-Lenguajes_de_programacion.pdf
•
[15] Rodríguez, R., Sosa, E., Prieto, A. (2004). Programación orientada a
objetos. Recuperado de http://libreriaalvaro.com/libropoo.pdf
•
[16] Martínez, R., Quiroga, E. Estructuras de datos/ Data Structures:
Referencia Practica Con Orientación a Objeto. (2002). España: Thomson
learning
•
[17] Bahit, E.(2013). Teoría sintáctico-gramatical de objetos. Recuperado de
http://www.bubok.es/libros/219288/Teoria-sintacticogramatical-de-objetos
•
[18]
Clase
(informática).
(2013).
Recuperado
de
https://es.wikipedia.org/wiki/Clase_(inform%C3%A1tica).
•
[19] INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS.
(1996). Recuperado de http://zarza.usal.es/~fgarcia/doc/tuto2/I_1.htm
•
[20] Método constructor de una clase (__construct). (2000). Recuperado de
http://www.phpya.com.ar/poo/temarios/descripcion.php?cod=39&punto=5&in
icio=0
•
[21]
Diagrama
de
clases.
(2013).
Recuperado
de
http://es.wikipedia.org/wiki/Diagrama_de_clases
•
[22] INTRODUCCIÓN A LA PROGRAMACIÓN ORIENTADA A OBJETOS.
(1996). Recuperado de http://zarza.usal.es/~fgarcia/doc/tuto2/I_1.htm.
•
[23] TIOBE Programming Community Index for July 2013. (2013).
Recuperado
de
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html.
•
[24] Descripción y características de este potente y moderno lenguaje de
programación.
(2013).
Recuperado
de
http://www.desarrolloweb.com/articulos/497.php
•
[25]
Tipos
de
datos
primitivos.
(2008).
Recuperado
de
http://www.codexion.com/tutorialesjava/java/nutsandbolts/datatypes.html.
•
[30]
Interfaz
gráfica
de
usuario.
(2013).
Recuperado
de
http://es.wikipedia.org/wiki/Interfaz_gr%C3%A1fica_de_usuario
•
[31] Cervigon, C. Interfaces Graficas de usuarios. (2010). Recuperado de
http://www.fdi.ucm.es/profesor/jpavon/poo/tema6resumido.pdf.
•
[32] Vázquez, p., Marco, J., Martin, A., Molinero, X. (2006). Programación en
c++ para ingenieros. España: Paraninfo
•
[33] DISEÑO DEL DIALOGO GUI (INTERFAZ GRÁFICA DE USUARIO).
(2003).
.Recuperado
de
http://www.virtual.unal.edu.co/cursos/sedes/manizales/4060030/lecciones/C
apitulo%205/gui.htm
Fotos
[Imagen
de
POO
unidad
1].
Recuperado
de
http://elvex.ugr.es/decsai/builder/intro/5.html
[Imagen
de
interfaces
graficas
de
usuario].
Recuperado
de
http://www.os.catacamas.net/Sistemas%20operativo%20de%20tiempo%20real/Int
erfaz%20grafica%20de%20usuario.html
Videos
[video 1] Centeno, D., Chávez, K. (5 de junio de 2012). Creación de interfaz grafica
de
usuario
en
Netbeans.
[Archivo
de
video].
Recuperado
de
http://www.youtube.com/watch?v=EbNZDa-j-64
[video 2] Ramírez, M. (6 de noviembre de 2011). Instalar jdk y Netbeans 7.0.
[Archivo
de
video].
http://www.youtube.com/watch?v=KQk0OUZ1rGY
Recuperado
de