You are on page 1of 49

Nos ayudara a poder realizar ejercicios en java (net beans) por medio de gráficos.

Introducción Este manual les va a permitir a los alumnos que pasan al tercer semestre de ingenier a en sistemas poder entender un poco mejor la materia de tópicos avanzados de programación. Es necesario tener conocimientos básicos de programación orientada a objetos y fundamentos de programación para la generación de programas y cone!iones en java (net beans). Instrucciones para el uso del manual "sar java (net beans) #onocer lenguajes de programación y algoritmos $losario %bstraction (abstracción) &ropiedad y'o t(cnica de soft)are que oculta los detalles de la implementación. *ava soporta abstracción de clases y abstracción de m(todos. +a abstracción de m(todos se define separando el uso de un m(todo sin conocer como está implementado ese m(todo. ,i decide combinar la implementación- el programa cliente será afectado. .e modo similar la abstracción de clases oculta la implementación de la clase del cliente. %coplamiento (coupling) /edida del grado en el que un objeto o componente depende de otro. 0ajo acoplamiento minimiza las dependencias y es una indicación de un buen dise1o %gregación (aggregation) 2elación en la que un objeto se compone o está construido de uno o más objetos- de modo que la colección completa representa un todo. +as relaciones de agregación se especifican entre clases y se reflejan en instancias de objetos %lgoritmo (algorit3m) /(todo que describe cómo se resuelve un problema en t(rmino de las acciones que se ejecutan y especifica el orden en que se ejecutan estas acciones. +os algoritmos ayudan al programador a planificar un programa antes de su escritura en un lenguaje de programación. 4mbito de clase (scopeclass) +as variables privadas definidas fuera de los m(todos internos a la clase tienen ámbito de clase. ,on accesibles desde todos los m(todos del interior de la clase- con independencia del rden en que están definidas. +os m(todos privados tambi(n tiene ámbito de clase. %nálisis (análysis) &roceso de identificación- modelado y descripción de lo que 3ace un sistema y de cómo trabaja %plicación (application) &rograma autónomo *ava tal como cualquier programa escrito utilizando un lenguaje de alto nivel. +as aplicaciones se pueden ejecutar desde cualquier computadora con un interprete *ava. +as aplicaciones no están sometidas a las restricciones impuestas los applets de *ava. "na clase aplicación debe contener un m(todo main. ,e utiliza como sinónimo de programa. %pplet 5ipo especial de programa *ava que se puede ejecutar (correr) directamente en un navegador 6eb o en un visualizador applet. % un applet se le imponen diversas restricciones de seguridad. &or

ejemplo- un applet no se puede ejecutar operaciones de entrada'salida en un sistema de usuario y por consiguiente no puede leer o escribir arc3ivos o transmitir virus de computadora. %rgumento (argument) Información pasada a un m(todo. +os argumentos se suelen llamar tambi(n parámetros. "nm(todo que espera recibir argumentos debe contener una declaración de argumentos formales por cada argumento actual como parte de la cabecera del mismo. #uando se invoca a un m(todo- los valores de los argumentos actuales 7reales) se copia en los correspondientes argumentos formales. 8ease parámetro actual (actual parameter). %rray (array- vector- lista) 9bjeto contenedor que almacena una secuencia inde!ada de los mismos tipos de datos. Normalmente los elementos individuales se referencian por el valor de un ndice. El ndice es un valor entero que - suele comenzar- en : para el primer elementos- ; para el segundo y as sucesivamente. %signación (assignment) %lmacenamiento de un valor en una variable. +a sentencia de asignación es aquella que implementa la asignación y utiliza un operador de asignación %sociación (association) "na relación entre dos clases tales como una instancia deuna clase referencia a una instancia de otra clase. %sociatividad(associativity) 9rden en que se enval<an operadores de igual precedencia o prioridad dentro de una e!presión. +a asociatividad por la izquierda produce una evaluación de izquierda a derec3a y la asociatividad por la derec3a conduce a una evaluación de derec3a a izquierda. a)t(%0,52%#5 6IN.96599+=I5)#olección de clases (java.a)t.>) que se utiliza paraimplementar interfaces gráficas de usuario. #ontienecomponentes tales como botones- etiquetascampos dete!to- áreas de te!to- barras de desplazamiento- cajas deverificación y men<s. +as clases de %65 proporcionan una interfaz independiente de la plataforma para desarrollo de programas visuales e interfaces gráficas de usuario. 0iblioteca de clases (classlibrary) #olección organizada de clases que proporciona un conjunto de componentes y abstracciones reutilizables 0inario (binary) 2epresentación num(rica en base ?. En esta base sólo se utilizan los d gitos : y ;. +as posiciones de los d@digitos representan potencias sucesivas de ?. 8(ase bit. 0inding (ligadura) 0it . gito binario que puede tomar dos valores posiblesA : y ;. +os bits son elementos básicos de construcción de programas y datos 0loque (blocB) ,entencias y declaraciones encerradas entre una pareja de llaves (apertura y cierre- @C@ y @D@. &or ejemplo- un cuerpode una clase- es un bloque- al igual que el cuerpo de un

m(todo- "n bloque delimita un nivel de ámbito. 0olean (bolean- lógico) 5ipos primitivos de datos en *ava. El tipo bolean puede tomar sólo dos valoresA true (verdadero) y false (falso). 0ytecode (códigos de byte) 2esultado de la compilación del código fuente *ava. +a*8/ (*ava 8irtual /ac3ine) interpreta los bytecodes con lafinalidad de ejecutar un programa *ava. El bytecode esindependiente de la máquina y se puede ejecutar encualquier máquina que tenga un entorno de ejecución. +os bytecodes se almacenan en arc3ivos class #abecera de la clase(class 3eader) #abecera de la definición de la clase. +a cabecera proporciona un nombre a la clase y define sus accesos. 5ambi(n describe si es una clase ampliada (e!tends) de una superclase o implementa interfaces (implements) #lase (clase) #olección encapsulada de datos y operaciones que act<an sobre los datos. El concepto de clase es fundamental en programación orientada a objetos. "na clase consta de m(todos y datos. +os m(todos de una clase definen el conjunto de operaciones permitidas sobre los datos de una clase (sus atributos). "na clase puede tener muc3as instancia de la clase u objetos. #lase abstracta (abstract class) ,uperclase que contiene caracter sticas comunes compartidas por las subclases. ,e declaran utilizando la palabra reservada abstract. +as clases abstractas pueden contener datos y m(todos- pero no se pueden instanciar (crear objetos)E es decir- no se pueden crear objetos de esta clase. #lase cliente (client class) #lase que 3ace uso de otra clase. #lase concreta (concrete class) "na clase dise1ada para crear (tener) instancias de objetos #lase 3ija (c3ild class) 8(ase subclase. #lase interna (inner class) "na clase interna es una clase empotrada en otra clase. +as clases internas permiten definir peque1os objetos au!iliares y unidades de comportamiento que 3acen a los programas más simples y concisos. clase interna (inner class) 5(rmino utilizado para describir una clase declarada dentro de otra declaración de clases. #lase miembro (memberclass)

5(rmino general utilizado para describir una clase declarada dentro de otra declaración de clases. #o3esivo (co3esive) /odo de describir una clase que tiene partes fuertemente integradas- cada una de las cuales contribuye a describir las mismas abstracciones. #ometario (comment) 5rozo de te!to que tienen como objetivo documentar el programa y mostrar como se 3a construido. +os comentarios no son sentencias de programación y son ignorados por el compilador. En *ava los comentarios están precedidos por dos barras ('') en una l nea o encerrados #ompilación (compilation) &roceso de traducción de un lenguaje de programación. Normalmente este proceso implica la traducción de un lenguaje de programación de alto nivel a lenguaje de programación de bajo nivel- o el formato binario de un conjunto de instrucciones espec ficas. +a traducción se realiza con un programa denominado compilador. "n compilador java traduce los programas en bytecodes. #ompilación (compiling) Nombre dado al proceso de traducción del código fuente a bytecodes. #ompilador (compiler) &rograma de soft)are que realiza un proceso de compilación (traducción del lenguaje fuente a lenguaje máquina) de un programa escrito en un lenguaje de programación de alto nivel. En el caso de *ava- es un programa que traduce el código fuente *ava en bytecode. El compilador de *?,.= se denomina javac. #ompilador en tiempo de ejecución (instFin.time compiler) #ompilador capaz de compilar cada bytecode de una vez- y a continuación se reinicia al código compilado repetidamente cuando se ejecuta el bytecode. #onstante (constant) "na variable declarada en final en *ava. "na constante de la clase normalmente está compartida por todos los objetos de la misma claseE por consiguiente- una constante de clase se declara normalmente como static. "na constante local es una constante declarada dentro de un m(todo. #onstante de la clase (class constant) 8ariable definida como final y static. #onstructor (constructor) /(todo especial utilizado para inicializar el estado de un nuevo objeto. El constructor permite crear objetos utilizando el operador ne). El constructor tiene e!actamente el mismo nombre que la clase que lo contiene. +os constructores se pueden sobrecargar con el objetivo de facilitar la construcción de objetos con diferentes tipos de valores iniciales.

En *ava se conoce como clase Entero (integer) "n n<mero completo (no es un n<mero real con coma decimal) tal como HI. . &ara estas tareas se suele utilizar una 3erramienta de programación conocida como depurador.epuración (debugging) &roceso de encontrar. .eclaración (declaration) . "n depurador puede establecer puntos de interrupción (breaBpoint).ise1o (dise1o) %ctividad de definir como se debe estructurar e implementar un programa. .aunque en el proceso de escritura de un programa se suele diferenciar .m(todos yc lasees en un programa..#onstructor por defecto (default constructor) #onstructor que no tiene parámetros y sirve para inicializar un objeto #ontenedor (container) #lase que implementa una estructura de datos que contiene una colección de objetos.Interfaz $ráfica de "suario ($"IE $rap3ical "ser Interface) que contiene una colección de otros componentes I$" #uerpo de la clase (class body) #uerpo de una definición de una clase que agrupa las definiciones de los miembros de la claseA camposm(todos y clases anidadas.iagrama de clases (class diagram). +as e!cepciones se representan por objetos e!cepción en java. Encapsulamiento.=.: y ?::?.fijar y eliminar errores en un programa.e utiliza tambi(n para representar un componente I$" .parada simple a trav(s de un programa e inspecciona el estado de las variables.efinición (defnition) 5(rmino sinónimo de declaración. #ombinación de m(todos y datos en una <nica estructura de datos.encapsulación (encapsulation) +ocalización y protección de las caracter sticas internas y estructura de un objeto. E!presión (e!presión) "na subparte de una sentencia que representa un valor. . "na representación gráfica construida utilizando una notación formal para visualizar y documentar las relaciones entre clases de un sistema. . &or ejemplo.epurador (debugger) Gerramienta para ayudar a la localización de errores de un programaA jdbc se proporciona como parte del *?.efine las variables... +os enteros se pueden representar en *ava de dos formasA utilizando el tipo primitivo int o utilizando una instancia de una clase integer. +as e!cepciones se manejan con un bloque de sentencias try'catc3..la e!presión . E!cepción (e!ception) "n suceso (evento) no previsto que indica que un programa 3a fallado en alguna forma. .

.datos. Nuente del suceso (event source) El objeto que genera el suceso.$rap3ical "ser Interface) "na interfaz es un programa que se implementa utilizando componentes %65 tales como cuadros- .interfaz o paquete. I$".. +os operadores relacionales toman operandos de tipos diferentes y producen un resultado lógico.Interfaz $ráfica de "suario ($"I. Nunción (function) #onstrucción matemática a la que se pueden aplicar valores y que devuelve un resultado.m(todos y variables locales.un dato final o variable local es una constante y un m(todo final no sepuede anular (sustituir) en una subclase.E (integrated development) .clase.= El *ava ? . Identificador (identifier) Nombre de una variable. Normal parameter (parámetro formal) &arámetros definidos en la signatura o declaración del m(todo.las bibliotecas de calse *ava. Ninal (final) /odificador de clases.P(la más reciente dentro de la implementación de la plataforma *ava ?. E!presión booleana lógica (0olean e!presión) "na e!presión cuyo resultado es del tipo lógico (bolean.aritm(tica @?JI@ representa el valor K.cualquier construcción sintáctica legal que represente un valor es una e!presión.oft)are =it distribuido por Inn proporciona el conjunto de 3erramientas para escribir programas *ava.bol).m(todo. +as versiones se numeran en secuencia con . I?.el compilador *ava(javac)y una colección de otras utilidades. En *ava.O-..9peradores tales como LL y MM toman operandos lógicos y producen un resultado lógico.oft)are para ayudar a lso programadores a escribir código eficientemente. Gerencia (in3eritance) "na relación entre clases en que una subclase se e!tiende desde una superclase.?-. G5/+ (Gyperte!t /arBup +anguage) +enguaje de @script@ o de marcas para dise1ar páginas 6eb para creación y compartición de documentos electrónicos integrados preparados para multimedia e Internet. "na clase final no se puede e!tender. I.

etc./áquina 8irtual *ava (*ava 8irtual /ac3ine) "na emulación de soft)are de una máquina que puede ejecutar bytecodes de *ava. *. +a máquina virtual *ava (*8/) es un interprete de bytecodes de *ava que proporciona una emulación de soft)are de un procesador de máuina.probar y depurar el código de un programa. +a estructura de una interfaz *ava es similar al de una clase abstracta en la que se puede tener datos y m(todos. +igadura dinámica (dynamic binding) +igadura o enlace del nombre de un m(todo al cuerpo de dic3o m(todo que se ejecuta mientras que un programa se está ejecutando .al contrario del enlace que se produce cuando se compila el programa. 5odos los programs *ava se compilan a bytecodes que se ejecutan por una *8/. . #ada interface se compila en un arc3ivo independiente de bytecode.sistema dememoria e interfaces a dispositivos 3ard)are.etiquetas. +os datos -sin embargo -deben ser constantes y los m(todos pueden tener sólo declaraciones sin implementación.oft)are que interpreta y ejecuta bytecode de *ava. Implementación (implementation) +a actividad de escribir.compilar. Interfaz (interface) "na interfaz se trata como una clase especial de *ava. No se puede crear un instancia de la interfaz. *erarqu a de clases (class 3ierarc3y) #olección de clases organizadas en t(rminos de relaciones de superclases y subclases. Interprete (Interpreter) . *8/. Esta restricción se puede superar por el uso de una interfaz.campos de te!to. Instancia (instance) 9bjeto de una clase Instanciación (instantiation) &roceso de creación de un objeto de una clase.efine el %&* de *ava y contiene un conjunto de utilidades de l neas de órdenes tales como *avac (compilador) y *ava(interprete). Instanciación (instantion) &roceso de crear un objeto de una clase.tal como una clase ordinaria. En *ava e!iste sólo 3erencia simple y una clase puede 3eredar de una supereclase.= (*ava development Bit) vease *?I=* .botones. &roporciona una implementación del procesador.

/(todo de la instancia (Instance met3od) "n m(todo (o procedimiento)declarado por un clase que se llama por sus objetos de instancias (o los de las subclases).inónimo de m(todo estático.se 3a de poner un modificador static en la declaración del m(todo. +a clase declara un objeto de variables.pero 3ay otros lenguajes de programación que proporcionan tambi(n el m(todo de paso por referencia. /arco de trabajo (frame)orB) /ensaje (message) "na petición enviada a un objeto que solicita ejecutar una operación determinada.conversión) &roceso de convert r un valor de un tipo de dato primitivo en otro tipo primitivo o conversión de un objeto de un tipo de dato en otro tipo de objeto. .convertir) #ambiar e!pl citamente el tipo de una e!presión utilizando una e!presión de conversión (cast).I convierte P. &ara definir m(todos de clases. /(todo de la clase (class met3od) . El mensaje incluye un nombre y una lista opcional de parámetros. "n m(todo que se puede invocar sin crear una instancia de la clase.e representa mediante el modificador abstract. &or ejemplo.value) valor del argumento real se toma y se sit<a en una posición de memoria independiente. 5odos los parámetros se pasan en *ava por valor.representada por el correspondiente argumento formal. +os m(todos abstractos deben implementarse en una subclase no abstracta incluso aunque no se utilicen. +a referencia se copia (llamada por valor) pero no el objeto refereciado +lamada por valor (callF &aso de un argumento a un m(todo en el que una copia delby.instancia que forman la estructura de un objeto y un conjunto de . .u implementación se realiza en la subclase.(int) P. /(todo abstracto (abstract met3od) /(todo que sólo tiene signatura y no tiene cuerpo.y debe estar contenido dentro de una clase abstracta. /oldeado (casting. 9bjeto instancia (instance object) "n objeto instancia es un representación de un valor del tipo implementado por su clase.I en un valore entero y (cuadrado)c convierte un objeto c en uno de tipo cuadrado /oldear (cast-. /anejador de sucesos (event 3andler) "n m(todo en el que el objeto QoyenteQ se 3a dise1ado para 3acer alg<n proceso especificado cuando ocurre un suceso determinado.+lamada por referencia (callFbyFreference) 5(rmino utilizado cuando yuna referencia de un objeto se pasa como un parámetro de un m(todo.

&alabra definida como parte del lenguaje *ava '(vease enpalabra clave (Bey)ord) %p(ndice % -la lista de palabras reservadas *ava). &rogramación controlada por sucesos (eventFdrive programming) +a programación de gráficos en *ava está controlada por sucesos. +os parámetros reales (actuales) deben concordar en tipo. (*ava ? &lataform) Nombre de la versión más reciente de *ava. &alabra clave. 9yente de sucesos (event listener) El objeto que recibie y maneja el suceso. &arámetro formal (formal parameter) .los valores de los argumentos actuales se copian en los correspondientes argumentos formales. &lataforma de *ava ?.eclaración de una variable parámetro en una lista de parámetros de un m(todo. &alabra reservada.una palabra clave (o palabra reservada) es una palabra definida como parte del lenguaje de programación"n nombre de palabra reservada no se puede utilizar para ning<n otro propósito. 5ambi(n se conoce a esta programación como procedimental o por . 9cultación de la información (information 3iding) "n concepto de ingenier a de soft)are que se refiere a la ocultación y protección de las caracter sticas internas y la estructura de un objeto. &arámetro actual o real (actual parameter) 8alor que se pasa a un m(todo cuando se invoca ese m(todo.selección. En programación controlada por sucesos (o enventos) los códigos se ejecutan por activación de sucesos.reservada (Bey)ord) En *ava.m(todos que se pueden llamar en un objeto. #uando se invoca a un m(todo.repeticiónvariables y asignación.orden y n<mero con los parámetros formales.tales como pulsar un botón o mover el ratón &rogramación imperativa (imperative programming) &rogramación basada en los principios de instrucción o secuencias de órdenes.

entencia contenedora que consta de una secuencia de otras sentencias y declaraciones. Normalmente se asocia con sucesos de entrada de interfaces gráficas de usuario (p. .procedimientos. 5ipo de datos (data type) 5ipo de dato que se utiliza para definir variables.e. 8ariable de instancia (instance variable) "na variable declarada en una clase.entencia compuesta (compound statement) .etc. El mensaje incluye un nombre yuna lista opcional de parámetros. el QclicQ de un ratón.inónimo de variable estática. /(todo (met3od) "na colección de sentencias que se agrupan juntos para ejecutar una operación. *ava es un lenguaje imperativo. *ava soporta los tipos de datos primitivos y tipos de datos objeto. ) El programa puede responder o ignorar el suceso. .un conjunto de operaciones y una descripción algebraica del comportamiento de las operaciones. 8ariable local (local variable) 8ariable definida en el interior de una definición de un m(todo. 8ariable de clase (class variable) . *ava soporta tipos primitivos de datos y tipos de datos objeto. 2ecolección de basura (garbage collection) .uceso (event) "n tipo de se1al que indica 3a ocurrido alguna acción.%bstract . En *ava se utilizan llaves (C y D) para delimitar una sentencia compuesta. 5ipo de datos (data type) +os tipos de datos se utilizan para definir variables.5. 8(ase evento.ata 5ype) Especificación formal de un tipo de dato que consta de un nombre. "na copia de un m(todo de una instancia e!iste en cada instancia de la clase que se crea. (%. "n miembro dato no estático de una clase. #lase &rincipal (main class) "na clase que contiene un m(todo principal (main).pulsación de una tecla. /ensaje (message) &etición enviada a un objeto que solicita realizar una operación con nombre. 5ipo abstracto de datos 5%.

.oriented design) .obrecarga de un m(todo (met3od overloading) +a sobrecarga de n m(todo significa que se puede definir los m(todos con el mismo nombre de una clase siempre que 3aya diferencia en sus parámetros. 2ed (net)orB) Infraestructura que permite a los ordenadores comunicarse unos con otros. Nented class (Nented class) "na clase estática declarad dentro de otra clase. (object. /odificador (/odifer) "na palabra reservada en *ava que especifica las propiedades de los datosm(todos y clases. Ejemplos de modificaciones son public-private y static.enominada tambi(n una clase anidad de nivel superior. . .ise1o realizado en t(rminos de objetos. Ejemplos de operadores son J-F->-' y R &rogramación orientada a objetos 99& (objectoriented programming) "n enfoque de programación que implica organización de objetos y sus comportamiento en clases de componentes realizables.clase y relaciones de clases. %nulación de m(todos (met3od overriding) +a anulación o sustitución de m(todos significa que se puede modificar el m(todo de una subclase que está definida originalmente en una superclase. En red (net)orBing) &ropiedad de los ordenadores y programas de ordenador que las permiten comunicarse unos con otros a trav(s de una red. "na instancia de una clase espec fica. /ulti3ilo (mulit3reading) &ropiedad de un programa para ejecutar diversas tareas simultáneamente dentro de un programa. 9bjeto (object) 8ease instancia.y como se pueden utilizar.clases y selecciones de clases.ise1o orientado a objetos 99.se puede construir cualquier n<mero de objetos a partir de una clase. En general. %nálisis orientado a objetos 99% (objetctoriented %nalysis) %nálisis realizado en t(rminos de objetos. 9perador (operator) 9peraciones para valores de tipos primitivos de datos./et3od object .

%nular o sustituir (override) . 8ariable parámetro (parameter variable) 8ariable declarad en una lista de parámetros formados de un m(todo y que se inicializa cuando se llama al m(todo.obrecarga (overload) &roporciona dos o más m(todos con el mismo nombre en el mismo ámbito -diferenciado por tener listas de parámetros deferentes. #lase padre (parent class) Igual concepto que superclase &atrón (pattern) . #ualquier cambio al objeto local que ocurre dentro del cuerpo del m(todo afectará el objeto original que se pasará como argumento. +ista de parámetros (parameter list) +ista de valores dados a un m(todo para inicializar sus parámetros o la lista de parámetros de las declaraciones de variables.con independencia de los cambios 3ec3os al parámetro formal dentro del m(todo.isposición avanzada de clases y objetos .la asociatividad derec3a es derec3a a izquierda. &recedencia de operadores (operator precedence) &rioridad de un operador dentro de una e!presión utilizando para determinar en que orden de evaluarán los operadores. +os bloques catc3 tambi(n utilizan variables parámetro. +a asociatividad a izquierda produce una evaluación de izquierda a derec3a. +a variable real e!terna al m(todo no está afectado.%sociatividad de operadores (operator associativity) 9rden en que se eval<an operadores de igual procedencia dentro de una e!presión. &aso por valor (passFbyvalue) "n t(rmino utilizado cuando una copia de una variable de un tipo primitivo de dato se pasa a un parámetro de un m(todo. . &arámetro (parameter) +os parámetros formales se especifican en una declaración de un m(todo en una llamada a un m(todo&aso por referencia (passFbyFrefernce) "n t(rmino utilizado cuando una referencia de un objeto se pasa como un parámetro de un m(todo.onde un m(todo de una subclase redefine y especiali&aquete (pacBage) #olección de clases agrupadas juntas.

5ipo de dato primitivo (primitive data type) +os tipos de datos primitivos son byte. &rograma (program) "n conjunto de instrucciones (o sentencias) que describen alguna aplicación o actividad ejecutada en una computadora. *ava toma un enfoque operacional en semántica de modo que el comportamiento y por . Ejecutar. +enguaje de programación (programming language) Notación utilizada por los programadores para escribir programas .emántica (semantics) #onjunto de reglas que definen el significado de un programa sintácticamente válido.una gramática (las reglas que definen una secuencia de palabras y s mbolos significativos y correctos) y semántica. .e denomina tambi(n tipos incorporados. &rogramador (progammer) &ersonas que dise1a.int.escripción o conjunto de secuencias de sucesos que seutilizan para describir parte del comportamiento de unprograma.ejecución (run) Gacer funcionar un programa instrucción a instrucción. &rivado (private) "n modificador de miembros de una clase. &alabra reservada (reserved )ord) 8(ase palabra clave. "n miembro protegido de una clase que puede ser utilizado en la clase que está declarad o cualquier subclase derivada de esa clase. &rotegido (protected) "n modificador para los miembros de una clase.un miembro privado sólo puede ser referenciado en el interior de la clase.long.datos y m(todos a los que se puede acceder por todos los programas. un lenguaje tiene una sinta!is (las palabras y s mbolos utilizadas para escribir códigos de programa). .&recedencia. *ava es un lenguaje de programación.s3ort.prueba y depura programas. Escenario (scenario) .float-double-bolean y c3a).escribe. 5ipo primitivo (primitive type) "n tipo definido como parte del lenguaje *ava en vez del declarado por una clase o intefaz. &<blico (public) "n modificador de clases.prioridad (precedence) &rioridad de un operador en una e!presión utilizada para determinar el orden en que se eval<an los operadores.

+as sentencias se ejecutan en el orden en que están escritas y siempre terminan en un punto y coma.pruebas. 8ariable estática (static variable) 8(ase variable de clase.S+ stanadr query langage) +enguaje de computadora para realizar consultas y actualizaciones en una base de datos.oft)are engineering .dise1o implementación . /(todo declarado en una clave que se llama directamente sin necesidad de que el objeto sea llamado. +igadura estática (static briding) Enlace o cone!ión de un nombre de un m(todo a un cuerpo del m(todo ejecutados por el compilador mediante el análisis l(!ico del te!to de un programa/(todo estático (static met3od) 8(ase m(todo de una clase. El código fuente ser utiliza para las personas para describir programas y sus componentes 3an de ser lo más legibles y comprensibles posibles. . .entencia (statement) "na unidad de código que representa una acción o una secuencia de acciones. Estas etapas suelen ser de análisis. . .legibles.pecification +enguaje de consulta (. #ódigo fuente (source code) 5e!to de un programa antes de ser complilado. Inferencia de soft)are (soft)are engineering) #onjunto de etapas en la realización de un programa.consiguiente el significado de un programa se define por la máquina sobre la que esta ejecutando el programa.entregas y mantenimiento.ource te!t .ignatura (signature) .ource code . El te!to se crea y edita utilizando en editor ordinario y contiene caracteres normales.ocBet (socBet) 5(rmino que describe la facilitación de comunicación entre un servidor y un cliente.

delincuencia. .ubclase (subclass) "na clase que 3ereda o se e!tiende de una superclase. .*ava soporta "nicode.y .la actividad de verificación sistemática de que un programa funciona correctamente. Etiqueta (tag) "na instrucción G5/+ que indica a un navegador 6eb como visualizar un documento. .uperclase (superclass) "na clase que es 3eredada por una subclase.es en igual escala e inclusive mayo ver el aspecto social.tream) 5(rmino que describe el flujo de datos continuo de una dirección entre un emisor y un receptor. &rueba (testing) 8(ase prueba Gilo (t3read) "n flujo de ejecución de una tarea que tiene un principio y un fin. "/+ ("/+) +enguaje unificado de modelado que proporciona notación estándar visual para documentar el análisis y dise1o de sistemas orientados a objetos. &resentación +a educación superior constituye una importante inversión que como ciudadanos deben además de proteger desarrollar.por esta razón considero de importancia que la educación .uperior no solo sea vista desde el aspecto económico.s mbolos y caracteres.. que amenaza no solo su estabilidad sino tambi(n la e!istencia de las Instituciones de Educación . &rueba' probar (test) En t(rminos de programación.con pobreza e!trema.desempleomarginación.mirarla como generadora de potencial 3umano necesario para el desarrollo y la transformación de la sociedad.en un programa.. +a sinta!is define la estructura de los programas legales en t(rminos de cómo las palabras reservadas y otros caracteres se pueden escribir y en qu( orden.como gasto o inversión o generadora de capital. %l elaborar este tutorial 3emos querido poner al alcance de los alumnos de ingenier a en sistemas computacionales es un m(todo que les facilite el aprendizaje nuevos valores constituye una opción para que la educación superior sea pertinente con el nuevo conte!to de un mundo globalizado y que saque a flote una sociedad que cursa actualmente por una crisis general.upertipo (supertype) "n tipo que es 3eredado por un subtipo.narcotráfico. . +as etiquetas se encierran entre corc3etes tales como .ynta!) "n conjunto de reglas que especifica la composición deprogramas a partir de palabras reservadas.etc.ubtipo (subtype) "n tipo que 3ereda o se e!tiende de un supertipo. "nicode (unicode) "n sistema de codificación de caracteres internacionales gestionados por el consorcio "nicode.pues es un factor indispensable para poder sobrevivir en el mundo actual y seguramente en el ma1ana. .uperior . .Nlujo (.inta!is (.uperclase (superclass) "na clase que puede ser 3eredada de otra clase.

lo que incide en el incremento de su rendimiento acad(mico reduciendo as las probabilidades de abandono escolar y puede contribuir de manera activa en la solución de problemas no sólo de la vida escolar sino de la sociedad en general.tambi(n e!iste resistencia al cambio no solo por parte de los docentes sino tambi(n de los alumnos.el manejo de conceptos básicos de Gard)are y .e inicia estudiando la programación concurrente desde la conceptualización del 3ilo.su creacióncontrol y destrucción.selección de una de ellas y desarrollo de una aplicación básica.ya que no sólo nos enfrentamos con la falta de recursos. "na manera de garantizar este 3ec3o es que los encargados de la Educación no sólo tengan formación en un área de investigación sino tambi(n en el aspecto pedagógico.oft)are 2edes y Gard)are. .construcción de modelos de soft)are empleando el lenguaje de modelado unificado ("/+).as como la sincronización de varios 3ilos.por lo que debe familiarizarse con distintos m(todos para aplicarlos a sus áreas espec ficas y debido a que se presentan una amplia gama de posibilidades podrá decidir cuál se adecua a su asignatura o asignaturas para producir un sistema de mayor interactividad.ebido a las competencias que el estudiante requiere como base para el desarrollo de las planteadas en este programa.el desarrollo de 3ábitos y 3abilidades.por lo tanto el profesor debe adoptar nuevas prácticas y t(cnicas de ense1anza. Normar profesionistas con una sólida formación en las áreas de .pues es una de las maneras de estimular a los alumnos para que asistan con gusto a las Instituciones a recibir nuevas formas de construir su propio conocimiento.esto supone un gran esfuerzo por parte de los acad(micos y de las autoridades pues se requiere de esfuerzo y apoyo por ambas partes. &ara el logro de los objetivos es necesario que el estudiante tenga competencias previas en cuanto a paradigmas de programación.por lo que se requiere de un cambio que se genere a partir de la conciencia y voluntad de todos los actores de la sociedad.oft)are.que soporte interfaz gráfica y comunicación con dispositivos móviles.+as nuevas tendencias educativas indican que el estudiante debe tener un papel más activo en su aprendizaje.el uso de metodolog as para la solución de problemas mediante la construcción de algoritmos utilizando un lenguaje de programación orientada a objetos. Ninalmente la materia se complementa con la introducción a la programación móvil.programación de eventos. . .la cual se lleva a cabo de forma periódica y sistemática y el estudiante obtiene varios beneficios entre los que se incluyenA +a adquisición de valore. Es aqu donde la tutor a toma importancia dentro de la Educación ya que (sta se entiende como un proceso de acompa1amiento dinámico en la formación del estudiante.a trav(s de la revisión de las distintas tecnolog as.con el optimizar los recursos computacionales disponibles en las organizaciones para resolver diversos problemas.la asignatura esta considerada cursarse cuando el estudiante 3aya desarrollado la competencia de programar.es recomendable cursarla inmediatamente despu(s de 3aber aprobado el curso de programación orientada a objetos.y evitar cursarla en semestres muy avanzados tomando en cuenta que en esta materia el estudiante desarrollará competencias necesarias para cursos posteriores entre los que se encuentran los talleres de bases de datos y programación )eb. Esta materia aporta al perfil la competencia para desarrollar soluciones de soft)are utilizando programación concurrente.

$eneración y propagación de eventos .que contribuya al desarrollo regional. % continuación en el siguiente te!to se 3ablará sobre las distintas plataformas que podemos utilizar para 3acer una interfaz gráfica.ample...llamado por ejemploA jc&ropertiesW."#59.%. /onografias. &ara crear un nuevo arc3ivo .com . "NI. /(todos de control de eventos . 5ipos de eventos . O.t(cnicas y procedimientos as como en el manejo del dise1o y configuración de redes de #ómputo y teleproceso.. &29VE#59 NE50E%N.E &29. /onografias.com %qu se ve de como se modifican los parámetros de jframe /onografias.O... #rear un nuevo proyecto en Netbeans. Eventos .&roperties en el proyecto. #reación de eventos &29$2%/% S"E G%#E "N %+/%#EN . En la ventana que aparece escoger la opcion 9529 y despu(s buscar Q%rc3ivo de &ropiedadesQseleccionarlo y presionar siguiente. &rimero que nada.com ?.?..com En esta parte se relacionan o se corre el programa que estamos realizando &29$2%/% .clic derec3o sobre el paquete en donde se creara el arc3ivo.TSu( es una interfaz gráficaU "na interfaz gráfica es cualquier medio por el cual uno puede interactuar con una computadora a trav(s de alg<n tipo de soft)are gráfico...y en la generación de nuevas tecnolog as con (tica y conciencia de servicio a la sociedad y una sólida preparación t(cnica. .#apaces de entender y adaptar las nuevas tecnolog as para desarrollar sistemas que apoyen a las áreas funcionales de la organizaciónE proactivos e innovadores que dise1en.escoger N"E89 F X 9529.implanten y administren los sistemas mediante las tecnolog as computacionalesE capacitados para automatizar diversos m(todos.nacional e internacional.P. /onografias.

el código para la clase /%IN esA pacBage jcpropertiesWsampleE import java.coloca los siguientes datos.java /onografias. Netbeans nos crea un arc3ivo.&ropertiesE '>> > [)eb 3ttpA''jcFmouse.com Esta clase.te permite leer el arc3ivo .com I. El proyecto debe tener la siguiente formaA /onografias.Z.com' > [aut3or /ouse >' public class /ain C public staticvoid main(.debemos colocar algunos datos para continuar.com Gasta el momento ya tenemos creado y llenado el arc3ivo de propiedades.blogspot.a3ora veremos cómo utilizarlo. &ara implementar este clase.por el momento solo desde consola.P.com &ropretores en la aplicación.util. En esta ventana se debe dar un nombre <nico al arc3ivo. /onografias.por ejemplo. /onografias.creamos cuatro parámetros en el paso Y y estos pueden verse distribuidos en el arc3ivo de propiedades.llámala jc&roperties.lo llamaremos QdatosQ.tring\] args) C .7.presione 5E2/IN%2 para crear el arc3ivo.com &29$2%/% ? /onografias.&ropretores vac o.para nuestro ejemplo.com Y. /onografias. #rea una nueva clase.&roperties que esta contenido dentro del *%2 de la aplicacióntambi(n puede utilizarse arc3ivos e!ternos sin ning<n problema.

ystem.println(Q=ey no e!iste devuelveA Q J mispropiedades.out.println(mispropiedades.get&roperty(QImportantQ))E ''si no e!iste la =EV que indicamos.out.''se crea una instancia a nuestra clase &roperties mispropiedades ^ ne)jc&roperties(). +uego nos vamos al a pesta1a de dise1o y agregamos de la paleta de componentes un /en< bar al *Nrame.println(mispropiedades.com &rimero editaremos el código del men< salir.o como le quieran llamar.out.get&roperties()E ''se leen las propiedades indicando el =EV (identificador) y se imprime .:.out.si 3iciste todo bien.9 y ponemos algo como esto .escriptionQ))E .ystem.e!it (:)E . Nos manda al código de *ava y vamos a borrar lo que dice ''59.println()E .get&roperty(Q.ystem.println(mispropiedades.que cerrará la aplicación.ystem.ystem. Ejecuta el proyecto.println(mispropiedades. /onografias. &ara esto damos clic derec3o en el men< salir y le damos en Events X %ction X action&erformed.este devolvera N"++ .out.podras ver el siguiente resultado /onografias.get&roperty(QBeynoe!isteQ))E D D .desde netbeans y le damos de nombre /ainNrame.out.com &29$2%/% O 8amos a3ora a crear la aplicación que muestra las imágenes en una carpeta_ #rearemos un nuevo *Nrame form.get&roperty(Q6arningQ))E .get&roperty(QSuestionQ))E .com %gregamos al men< Nile ? /en< Items y les cambiamos el te!to para que digan algo as como estoA /onografias.ystem.ystem.

se llama un m(todo aun no creado.get. %3ora aqu está el m(todo.en forma de .%&&298EW9&5I9N)CNile file ^ fc.8amos a agregar de la paleta de netbeans al *Nrame un *&anel.add(img&anel)Et3is.llamado t3is.repaint()ED Este m(todo lo usaremos cuando abramos una imagen desde el men< %rc3ivo X %brir.le vamos a dar un QfiltroQ para que solamente nos muestre los arc3ivos de imágenes (e!tensiones QjpgQ.ialog(t3is.QpngQ.get&arent())ED +o que 3ace este fragmento de código es llamar a un Nile#3ooser. +o que va a 3acer este m(todo va a ser.QjpegQ.pnlImagen.luego inmediatamente.QjpgQ.get6idt3() ' ?pantalla.carga.a3 pueden agregar más e!tensiones de arc3ivo_ Entonces llamamos t3is. 8amos a la pesta1a de dise1o y vamos %rc3ivo.y en el código vamos a poner estoA *Nile#3ooser fc ^ ne) *Nile#3ooser()Efc. +o centramos.QgifQ).centrar()E Sue es un m(todo que nos centrará la ventana en la pantalla al crearse el *Nrame.tring.creen. %qu .%brir clicB derec3o.3eig3t ' ? H t3is.get6idt3().t3is.imension pantalla ^ t3is.para despu(s poder ir cambiando de imagen con los botones Q`Q y QXQ.QjpegQ.getGeig3t())Et3is.com +es cambiaremos el nombre a los botones en el Inspector de NetbeansA /onografias.mostrarImagen mandándole el objeto Nile que seleccionamos.Events X %ction X %ction&erformed.s3o).lo pegan a3 abajo del constructor o donde quieranA &29$2%/% P &rivate void centrar()C.pnlImagen.y le enviamos el directorio del arc3ivo con file.com 8amos al código de *ava del /ainNrame y en el constructor que dice algo comoA '>> #reates ne) form /ainNrame >'public /ainNrame() Cinit#omponents()ED 8amos a agregar la linea despues de init#omponents()E t3is.get&arent().)idt3 ' ? H t3is.set+ocation(pantalla.mostrarImagen(file)Et3is.pnlImagen.igual que como lo 3icimos con el men< salir.get.irectorio(file.setNileNilter(ne) NileNameE!tensionNilter(Q%rc3ivos de imagenQ.Q%brirQ)Eif (opcion ^^ *Nile#3ooser.y agregamos ? botones as como en la figuraA /onografias.electedNile()Et3is.getGeig3t() ' ?)ED private void mostrarImagen(Nile file)CImage&anel img&anel ^ ne) Image&anel(filet3is.QpngQ.ize()Et3is.QgifQ))Eint opcion ^ fc.cargar en el arreglo de Nile\] todas las imágenes que se encuentren en la carpeta.que nos va proporcionar el arc3ivo que seleccionemos.irectorio.carga.get5oolBit().

ends6it3(Q. #rea una nueva claseE Ne) F *ava #lass.imensionE import java.setImagenNromNile(t3is.contador ^^ F.0ufferedImageE .a1ade los siguientes controlesA I. O.clic derec3o sobre el paquete QjavaappletQ y NE6 F *%ppletNorm.y llámalo QimagenNE5.javaQ a1ade el siguiente códigoA pacBage javaappletE import java.pngQ))Creturn trueEDreturn falseEDD)EDD if (t3is.esta bastante sencillo.tring nombre)Cif (nombre.get#omponent(:)Et3is. y en la ventana que te aparece..pnlImagen.contadorJJEif (t3is.jpegQ) MMnombre.escoges .esto if (t3is. #rea un nuevo proyecto en netbeans. ?.pnlImagen..irectorio(.se puede mejorar muc3o. F *%&&+E5 N92/.6IN$ $"I N92/. llama a esta nueva clase QinterfazQ..pero aqu nada más dejo las bases..elimina el arc3ivo /%IN.)Ct3is.jpgQ) MM nombre..contador ^ t3is. En el proyecto que se crea.contador])ED +o que se 3ace aqu es preguntar primero si el arreglo de fotos no es nulo. /onografias. #rea un nuevo *%ppletNorm.fotos.a)t.fotos ^ dir.lengt3 F.contador ^ :EDtmp.fotos\t3is..gifQ) MMnombre.bueno %S"I dejo linB para el &29$2%/% I El proyectoA.ends6it3(Q. 0ueno entonces ya tenemos un peque1o visor de imágenes.listNiles(ne) NilenameNilter()C public boolean accept(Nile file.tring folder)CNile dir ^ ne) Nile(folder)Eif (dir.*%8% F *%8% %&+I#%5I9N.a)t.get#omponent(:)Eif (t3is.P. %l nuevo j%ppletNormA Interfaz.fotos.image..está el m(todo que carga el directorioA private void carga.ya que no lo necesitamos.is..llamalo QjavaappletQ.fotos\t3is..irectory())Ct3is.ends6it3(Q.setImagenNromNile(t3is.debes escoger NE6 F 95GE2.i no encuentras esa opción.contador ^^ t3is..fotos a^ null)C&anelImagen tmp ^ (&anelImagen) t3is.com .fotos a^ null)C&anelImagen tmp ^ (&anelImagen) t3is.contadorFF])ED #asi lo mismo_ Normateamos el códifo con ctrlJaltJN en netbeans para que se acomode.EDtmp.ends6it3(Q.lengt3)Ct3is.

read(Wurl)E ."2+E import java.tring i-.set0ounds(:.import java.*+abel C .util.(int) d.:.I9E!ceptionE import java.net.util.imagen^iE t3is.s)ing.logging.blogspot.io.imagen)E Wimage ^ ImageI9.ImageI9E import java!.get6idt3()-(int) d.getGeig3t())E cargarWimagen()E D '> carga la imagene de la pagina en memoria >' public void cargarWimagen()C try C "2+ Wurl ^ ne) "2+(t3is.tring imagenE 0ufferedImage WimageE public imagenNE5(.ImageIconE '>> > [)eb 3ttpA''jcFmouse.+oggerE import java!.imension d)C t3is.logging.imageio.+evelE import java.s)ing.com' > [aut3or /ouse >' public class imagenNE5 e!tends java!.

y lo ejecutamos desde netbeans para ver que este todo bien.com El proyecto ya está terminado.Y. /onografias.en este caso nuestra clase QinterfazQ y escogemos Q2un NileQ.es a1adir una imagen desde internet a este objeto. /onografias.Etambi(n genero el arc3ivo G5/+ correspondiente.E8E2E.repaint()E D D &29$2%/% Y Esta clase.jarQ.com +uego cuando genero los class necesarios.i se fija en la pesta1a Niles. /onografias. Va solo queda a1adir un evento al *0utton de la clase interfaz y colocar el siguiente eventoA /onografias.class.netbeans g(neros todos los arc3ivos necesarios para implementar el applet en navegadores )eb.y el I.log(+evel. /odifica el código G5/+ de la siguiente formaA /onografias.get+ogger(imagenNE5.para ejecutar el applet. Implementar el applet en un navegador )eb.setIcon(imagenNondo)E t3is.com En estos dos arc3ivos que utilizaremos.e!)E D ImageIcon imagenNondo ^ ne) ImageIcon(Wimage)E t3is.debemos 3acer clic derec3o sobre el proyecto y elegir Q#lean and buildQ. . *%2.com El applet se ejecuta desde el %pplet8ie)er de java.getName()).lo unico que 3ace.null..cópialos a una misma carpeta y abre el arc3ivo G5/+ con el bloc de notas.class y el. &ara generar los .como se ve en la imagen de abajo.com %qu tenemos el applet firmado y ejecutándose desde un navegador )eb (Nirefo!) .podrá ver que los arc3ivos principal que necesitamos es el Qjavaapplet.#uando utilizamos la opcion Q#lean %nd 0uildQ.D catc3 (I9E!ception e!) C +ogger.clic derec3o sobre la clase principal que tenga el m(todo runable.que se e!tiende de un *+abel.

com /onografias.creemos la base de datos QsistemaQ.com #reemos una tabla llamada QusuariosQ y que tenga los camposA id usuario contrase1a nombre &odemos 3acerlo desde la opción de Net0eans Qcreate tableQ y ejecutando un comando .com Insertemos unos cuantos valores a nuestra tabla insert into usuarios values (bdiegob-bdiesilb-b.ilvab).S+A #reate table usuarios( IdWusuario varc3ar(?:) not null primary Bey#ontrase1a varc3ar(. Ni bien se crea.y veremos la tabla reci(n creadaA /onografias. /onografias. &or ejemplo. &29$2%/% Z /ostrar el formulario de inicio de sesión 8alidar los datos ingresados en el formulario. &29$2%/% 7 %lgo realmente bueno en la versión Y..podemos ver que se creó una nueva cone!ión en el árbol de QdatabasesQ. de Net0eans es que viene configurado nativamente para conectarse al servidor /y.::)Nombre varc3ar(.. %l finalizar. .nos pedirá crear una nueva cone!ión a esta base de datos (usuario. /onografias.com &odemos crear una base de datos desde esa opción.::)) 2efrescamos el árbol.S+.iego .y contrase1a).(bjuanpeb-bperezb-b*uan &erezb).

com #omo pueden leer en la descripción dentro de la imagen.&ara crear nuestra librer a. 2ecuerde que la ./onografias.5%N#I% . ? Interfaz grafica para usuarios ?.escogiendo la opción de *ava #lass +ibraryA /onografias.tama1o8]Et3is.debemos crear un nuevo proyecto *ava en Netbeans. #reación de interfaz grafica para usuarios.println(QE. /onografias.tring\] args) Cprimo p ^ ne) primo()Eif (es&rimo(p))C. 8eamos un ejemploApublic classprimo Cprivate intnumeroEprivate intvector&rimos\]Eprivate inttama1o8Epublicprimo()Ct3is.vector&rimos^ ne) int \t3is. /onografias.+ibrer as de #lases en *ava y Netbeans El operador instanceof sirve para consultar si un objeto es una instancia de una clase determinada.una #lass +ibrary no contiene una clase /ain para que se pueda correr o implementar las clases que se escriban dentro de la misma. ?.ervlet tenemos que irnos a otro.Va creado nos saldrá estoA /onografias.?.E &2I/9Q)EDDpublic static boolean es&rimo(primo p) Creturn (p instanceof primo)EDD+o que realiza este sencillo ejemplo es comprobar si la instancia llamada QpQ corresponde a la clase primo.numero^:EDDpublic class /ain Cpublic static void main(.ystem.tama1o8^?IEt3is. y le ponemos nombre al servlet y le damos terminar al siguiente men< ya que no lo iniciaremos con ning<n valor .%.com 0ien a3ora para usarlos es el mismo lenguaje de java as que no 3abrá muc3o problema.. &areciera absurdo tratar de conocer cuál es la clase que da lugar a una instancia espec fica.y saldrá este men<.com "NI..out.com +uego buscamos )eb y buscamos servlet.sin embargo es de muc3a utilidad cuando se trabaja con interfaces y 3erencia a la vez.com 8eamos la imagen para entender como esta formado un servlet.con la ayuda del m(todo &29$2%/% O +ograr abstraer las clases y crear objetos que funcionen de una manera adecuada.o de su padre.definida anteriormente. #omputación $rafica #omo es primer vez que creamos un . IN.

entre otras operaciones.Number%ddition paquete reemplaza el paquete por defecto.fibonacciEimport numeros. . +uego creamos una nueva aplicación *ava que llamaremos ImplementarNumerosA /onografias.com Gaga clic en la fic3a . %demás.librer a dará insumos a sus aplicaciones para realizar tareas a otras aplicaciones o programas. &29$2%/% P Number%ddition"I El I. Gaga clic con el botón %gregar ( j0utton? ).#rearemos una librer a que nos servirá para encontrar algunas familias o sucesiones de n<meros.3acemos clicB derec3o sobre el nombre del proyecto en el apartado de proyectos de Netbeans y nos dirigimos a las propiedades del mismoA /onografias.evaluar si un n<mero es primo o no.ise1o en la parte superior de su área de trabajo para volver al formulario de dise1o.e crearán clases para encontrar dic3as sucesiones de n<meros.con el proyecto creado.agregamos un compilado.importamos las librer as de esta maneraA import numeros.com /onografias. En este caso.la librer a debe lucir de la siguiente maneraA /onografias.para generar un *ar que contenga las clases. El my.que puede ser un proyecto de Netbeans.e encuentra en la carpeta dist dentro del folder del proyecto creado por Netbeans). Empezaremos con la sucesión de n<meros Nibonacci y los famosos n<meros &rimos.y abre la Number%ddition"I se forman en el $"I 0uilder.basta con construir el proyecto.entro de ella.agregaremos un *ar.esde el men< popF. +a adición de componentesA Gacer el Nront End /onografias.primoE V ya podremos utilizar toda la funcionalidad de nuestras clases dentro de un proyecto e implementarlas.un folder.E crea el Number%ddition"I forma y el Number%ddition"I clase dentro de la Number%ddition aplicación. .com Nos dirigimos a la categor a de +ibrerias.seleccione EventosX %cciónX action&erformed .una #lass +ibraryo un *ar.as que presionamos el botón de %dd *%2'Nolder y buscamos el *ar de nuestra #lass +ibrary (. .luego dentro del /ain del proyecto. %l agregarlo.la clase para los fibonacci debe de facilitar m(todos y atributos para encontrar los fibonacci que a la vez son primos.conocer el Nibonacci que desee el usuario.com &ara implementar esta librer a.% medida que el programador vaya escribiendo y concibiendo sus clases.com %3ora.

num.parseNloat (j5e!tNield.resultadoE ' ' 5enemos que analizar el te!to a un tipo float..get5e!t ())E num? ^ Nloat.com %3ora vamos a cambiar el nombre de nuestros componentes para que sean más fáciles de identificar.get5e!t ())E ' ' %3ora podemos realizar la suma.vamos a ' ' #ambiar el valor del resultado de un flotador en una cadena. El código fuente terminado deberá tener el siguiente aspectoA private void j0utton?%ction&erformed(java. ^ Nloat.com &aso OA %3ora vamos a agregar algunos componentes al *Nrame.event. resultado ^ num.event. .a)t.A 9bserva el siguiente tutorial /onografias.com /onografias.e la misma manera agrega un te!t field y un button.%ctionEvent) ( ' ' &rimero definimos las variables float. .set5e!t (. j5e!tNieldO.tring.parseNloat (j5e!tNield?.a)t.. ' ' %l mismo tiempo.num?. float num. %l terminar tu ventana debe verse de la siguiente maneraA /onografias.8amos a a1adir un código que nuestro trabajo botón %1adir. J num?E ' ' %3ora vamos a pasar el valor de resultado que j5e!tNieldO.value9f (resultado))E &29$2%/% P &aso . .elecciona un label en la paleta 3aciendo clicB y luego agr(galo al *Nrame 3aciendo clicB sobre esta donde quieres que aparezca.%ctionEvent evt)C private void j0utton?%ction&erformed (evt java.

por convención debemos elegir nombres representativos que nos indicen para qu( sirve cada uno de los componentes. "tiliza los siguientes nombres para tus controlesA #omponente Nombre *+abel lblName . &ara cambiar los nombres debes utilizar la ventana Inspector como se ve en el video..e esta manera vamos a seleccionar nombres para nuestros controles.a pesar de que los nombres no son importantes para *ava. &uedes seleccionar un control y presionar N? para cambiarle el nombre.e la misma manera que antes. %demás de eso se utiliza que por convención las primeras tres letras indiquen el tipo de componente de la siguiente maneraA #omponente &refijo *+abel +bl *0utton 0tn *5e!tNield 5!t *5e!t%rea 5!t *&anel pnl */enu mnu */enuItem mnuItem .

entro de esta pantalla vamos a escribir la siguiente l neaA +ogramos poniendo la siguiente l nea en el constructor.el m(todo que se llama /ainNrame()A /onografias. /onografias. .si 3acemos esto aparece la ventana SuicB .*5e!tNield t!tName *0utton btnEnter &29$2%/% I &aso .la primera parte del código que se ejecuta.earc3 que nos permite escribir algo y lo busca por nosotros.com &ara encontrar más fácilmente las propiedades podemos seleccionar la caja de propiedades y comenzar a escribir.es decir. 8amos a cambiar el te!to de los componentes de la siguiente maneraA #omponente 5e!to lblName NombreA t!tName btnEnter Entrar Nota que borramos el te!to de t!tName para que aparezca vac o.com .com &or <ltimo debes regresar a la clase /ain utilizando el e!plorador de proyectos y agregar la siguiente l nea en el m(todo main(). /onografias.recuerda que el m(todo main() es el punto de inicio de la aplicación.A %3ora lo que vamos a 3acer es cambiar el te!to de los componentes para que sea más claro.

elegimos A#ategor a o #ategories X *ava y &royecto o &rojects A *ava %pplication /onografias.en nuestro caso minitienday si queremos cambiamos la ruta donde se va a crear el proyecto.com T2ecuerdas esta sinta!isU +o <nico que estamos diciendo es que queremos construir un nuevo (ne)) objeto de la clase /ainNrame (nuestra ventana)./onografias.E y vamos al /enu Nile o %rc3ivo X Ne) &roject o Nuevo &royecto.com %brimos nuestro I..com #on esto tendremos que se 3a agregado a las librer as de nuestro proyecto.com &resionamos en Ninalizar o Ninis3 y en tendremos la pesta1a de &royectos algo como estoA /onografias. /onografias.com Netbeans por defecto no usa este esquema de colores. &29$2%/% Y /onografias. /onografias.com Elegimos el arc3ivo que queremos A /onografias.&%5G del proyecto /onografias.para este caso vamos a insertar solo los jar que necesitamos. /onografias.%3ora incluimos las librer as con las que vamos a trabajar. /onografias.com En la siguiente ventana ingresamos el nombre de nuestro proyecto.com .com En la siguiente ventana.com Esto es lo que a veces van a encontrar con el termino agregar al #+%.mas adelante les e!plicar( como 3acer esto.com V en nuestra ventana editor algo similar a A /onografias.

nosotros ya le 3emos dic3o que el que se tiene que utilizar es Q$lassNis3 .como se muestra en la imagenA /onografias.erver (*.luego presionasQ.ervidor que utilizaremos para nuestro proyecto.como mostramos en la imagenA /onografias.com #rear nuevo &royecto El siguiente paso es seleccionar en la parte categor as la carpeta Q*ava 6ebQ despu(s seleccionamos en el espacio de &royectos Q6eb %pplicationQ y terminamos presionando el botón Q.seleccionen la opción Quse default library )3ic3 comes )it3 .iguienteXQ.N ?.como se muestra en la imagenA .omain vOUNet0eans lo seleccionara solo si es que no 3as instalado otro server en tu Net0eans.iguienteXQ tal cual se muestra resaltado con rojo en la imagenA /onografias.5odas estas librer as son 9pen .para finalizar este paso le damos clicB al botón Q. &rograma 7 %G92% % +% %##IcNa U %brimos el Net0eans Y.com Nombre y localización del proyecto El siguiente paso corresponde a QO.F Nrame)orBsQ Net0eans les mostrara una lista de los Nrame)orBs que tiene disponibles nosotros seleccionamos Q*ava.ource y las puede encontrar en internet.ettings El <ltimo y siguiente paso es QP.iguienteXQ-te tiene que quedar como en la imagenA /onografias.7 y vamos a Q%rc3ivo'&royecto nuevoQ.la localización del proyecto automáticamente Net0eans la completa por ustedes.erver Naces.com .erver and .erver NacesQ seleccionada esa opción se les activara la pesta1a de configurar *ava.eleccionar &royecto El siguiente paso es el dos y se puede apreciar en el cuadro rojo Q?.erver and .FName y +ocationQ en este paso le damos el nombre al proyecto que estamos creando nosotros le dimos el nombre de Qaprendiendo*avaEE2ic3NacesQustedes le pueden dar el que ustedes quieran.les dejo algunos enlaces.F .:)Q Es la que Net0eans muestra por defecto.luego 3acen clicB en el botón Q5erminarQ y el proceso de creación del proyecto termina.com .ettingsQ donde elegimos el .

jar commonsFcollectionsFO.com 2esultado de creación de proyecto %3ora ya estamos en condiciones para poder implementar la librer a de 2ic3Naces para esto tenemos que seguir una serie de pasos que daremos a continuaciónA .para que recuerden las librer as las enumeramos a continuación recuerden que tienen que tener 59..jar %3ora vamos a la carpeta donde se aloja nuestro proyecto en m caso es la siguienteA #Ad"sersd$erardod.como se muestra en la imagenA /onografias.erver Naces &rograma Z .com +ibrer as 2ic3aNaces "na vez creado la carpeta lib en nuestro proyecto y copiado todas las librer as solicitadas por 2ic3Naces en su interior.:.com Nrame)orBF *ava./onografias.vamos de nuevo al Net0eans Y.i 3icieron los pasos que les se1alamos tendr an que tener un resultado como la imagenA /onografias.O.K.O.jar commonsFdigesterF..:.e acuerdan de las librer as de 2ic3Naces que enumeramos en la parte de arriba.jar j3ig3lig3tF.7.en el proyecto que 3emos creado 3acemos .O.7.O.A ric3facesFapiFO.bueno a3ora las utilizaremos.?.:.jar commonsFloggingF..O.Ninal commonsFbeanutilsF.Ninal ric3facesFimplFjsf?FO.ocumentsdNet0eans&rojectsdaprendiendo*avaEE2ic3Naces.Ninal ric3facesFuiFO.P.%.. En el interior de la carpeta creamos una nueva carpeta con el nombre QlibQ y en su interior pegamos todas las librer as que son de 2ic3aNaces.O.

com #argar +ibrer as al proyecto %3ora su proyecto tiene que mostrar las librer as respectivas cargadas.com %gregar %rc3ivo *%2 % continuación se abrirá una ventana y tenemos que ir a la carpeta QlibQ que 3emos creado en nuestro proyecto y seleccionar 59.con esto reci(n estaremos adjuntando las librer as que el proyecto necesita para usar 2ic3Naces.com #onfiguración )eb. &rograma .!mlQ.como se ve en la imagenA /onografias.e le abrirá la ventana con código e/+.: "na vez creado la carpeta lib en nuestro proyecto y copiado todas las librer as solicitadas por 2ic3Naces en su interior.entonces vamos a Qconfiguration filesQ le 3acemos doble clicB al arc3ivoQ)eb.con esto reci(n estaremos adjuntando las librer as que el proyecto necesita para usar 2ic3NacesA /onografias.com +ibrer as 2ic3Naces cargadas %3ora que ya tenemos las librer as cargadas tenemos que cambiar la configuración del proyecto para que este reconozca las librer as de 2ic3Naces.vamos de nuevo al Net0eans Y.despu(s que se 3abrá este arc3ivo le 3acemos clicB a Q9perador e/+Qcomo se muestra en la imagenA /onografias.com %gregar %rc3ivo *%2 % continuación se abrirá una ventana y tenemos que ir a la carpeta QlibQ que 3emos creado en nuestro proyecto y seleccionar 59. las librer as y 3acer clicB en abrir.ese código tiene que ser reemplazado por completo por el que mostraremos a continuación.7.%.un clicB izquierdo encima de la carpeta Qlibrer asQ para seleccionarla y luego un clicB derec3o y le 3acemos clicB a Q%gregar arc3ivo *%2'#arpeta_Q.e/+ .recomendación es borrar todo el código que ten a el arc3ivo y copiarlo por completo por el siguienteA .en el proyecto que 3emos creado 3acemos un clicB izquierdo encima de la carpeta Qlibrer asQ para seleccionarla y luego un clicB derec3o y le 3acemos clicB a Q%gregar arc3ivo *%2'#arpeta _Q. las librer as y 3acer clicB en abrir.como se puede ver en la imagenA /onografias.como se ve en la imagenA /onografias.%.

como muestra la imagenA /onografias.en la imagen se muestra clara su ubicación y de la forma que tienen que eliminarloA "nidad O &rogramas .como se ve en la imagenA /onografias.com inde!.por lo que tenemos que eliminar este arc3ivo que se encuentra en la carpeta Q6eb &agesQ.para crearlo le 3acemos clicB izquierdo en la carpeta Q6eb &agesQ y clicB derec3o vamos a QNuevoQ y despu(s Q*.!3tml %3ora que ya lo 3emos eliminado necesitamos crear nuestro arc3ivo Qinde!Q que sea compatible con la tecnolog a que estamos utilizando.jspQ para 3acerlo buscamos estas l neas de código y vemos que se encuentren de la siguiente formaA /onografias.jsp +uego se nos abrirá una ventana donde escogeremos el nombre del arc3ivo *.!mlQ tenga que tener configurado la ruta 3acia el Qinde!.despu(s procedemos a guardar el proyecto.jspQA /onografias.!3tmlQ.com .: +a tecnolog a que usaremos no es compatible con el formato que trae Qinde!.!mlQ .jsp 5enemos que preocuparnos de que el arc3ivo Q)eb.com #rear inde!.com .jspQ nos tiene que quedar de esta forma nuestro proyecto.como este arc3ivo es el que reemplazara a Qinde!. +a tecnolog a que usaremos no es compatible con el formato que trae Qinde!.com inde!.& creado.jsp "na vez creado el Qinde!.!3tmlQ.en la imagen se muestra clara su ubicación y de la forma que tienen que eliminarloA /onografias.uprimir inde!.por lo que tenemos que eliminar este arc3ivo que se encuentra en la carpeta Q6eb &agesQ.&Q.F.5al cual como esta arriba les tiene que quedar el arc3ivo Q)eb.!3tmlQ le pondremos el nombre de Qinde!Q por resultado se creara un arc3ivoQinde!.

+as formas de conversión de te!tos a num(ricos son las siguientesA Integer.parse+ong(te!to)E''convierte el te!to dado a un entero.la imagen nos muestra las variables $lobales en el bloque numerado con . "NI.uma J 2esta F .con fines prácticos evitaremos que esto suceda.el resultado que tienen que tener se muestra a continuaciónA /onografias.procedemos a compilar y a ejecutar nuestro proyecto para compilar el proyecto presionamos ` /ay<scula J N. +as variables localesA son accesibles solo para el m(todo en el cual 3an sido definidas en este caso las encerradas en el bloque ?.%dios.os variables de ámbitos distintos pueden llamarse igual. O .%. Espero que les 3aga gustado el post e implementado 2ic3Naces.se despide $erardo.parseInt(te!to)E ''convierte el te!to dado a entero+ong. +a palabra static significa que la variable pertenece a la clase y no a las instancias de la misma aunque esta es teor a orientada a objetos aplica para un mejor entendimiento.parse. /onografias.com +as variables globalesA son accesibles desde cualquier parte de la clase y por tanto por cualquier m(todo que este contenido en esta.esto no se aconseja dado que 3ace necesario ingresar un elemento que se denomina resolución de ambigfedad t3is.ouble(te!to)E''convierte el te!to dado a decimal I.X la idea es que 3aga un #lean and 0uild despu(s para ejecutar el proyecto presionamos NY y el proyecto comenzara a ejecutarse.erver Naces.efinir una variable local +o que diferencia a esta de las demás es el lugar en donde se colocan.. 5oda variable local debe colocarse dentro de un m(todo y fuera de cualquier bloque que se defina dentro de este.e esta forma 3emos logrado solo implementar 2ic3Naces en *ava.que muestra los componentes con sus respectivos codigos.com 2esultado Ninal .%signación ^ ..este Nrame)orB posee un sin fin de componentes que 3acen mas amigable la interfaz de nuestros programas. .ado que la parte en la cual fueron definidas es la clase y fuera de cualquier m(todo.ouble. 9peradores aritm(ticos de java. .es muy interactiva y ayuda de muc3o el linB es este.emo . y O.espu(s de 3aber copiado el código tal cual.espero sus comentarios. +as variables de bloqueA son las que se definen dentro de los bloques como el si (l mientras y otros que más adelante trabajaremos en el curso.en su pagina oficial 3ay un +ive .

com +uego te vas a proyectos y en paquetes le das clicB derec3o y creas un nuevo jframe /onografias. 9peradores relacionales que aplica solo para los n<meros no para los te!tos mayor que X menor que ``'fontX mayor o igual que X^ menor o igual que `^ igual que ^^ diferente que a^ #9/9 G%#E2 "N 2%.ivisión /odulo ' R &otenciación /at3.ecremento de uno FFF Y.com +e das un nombre al jframe /onografias.po)(base-e!ponente) 2aiz cuadrada /at3./ultiplicación > .sqrt(radicando) Incremento de uno JJ .com .I9 0"559N &rimero creas un proyecto y le das nombre /onografias.com +e das clicB derec3o al radio button seleccionas actipon performed y generas tu código /onografias.com +uego te vas a contenedores s)ing y jalas el radio button /onografias.

E.com +e das un nombre al jframe /onografias.+Ig%.#9/9 G%#E2 "N .com En los paquetes creamos un jfrane /onografias.com 2ealizamos un actionevent para nustro men< /onografias.com +e das clicB derec3o al deslizador seleccionas action performed y generas tu código /onografias.com Ela parte superior nos vamos a s)ing containers /onografias.com #9/9 G%#E2 "N /EN" &rimero creamos un nuevo proyecto en netbeans /onografias.92 &rimero creas un proyecto y le das nombre /onografias.com +uego te vas a proyectos y en paquetes le das clicB derec3o y creas un nuevo jframe /onografias.com %gragamos un nombre a nustrojfrane /onografias.com E!traemos un men< para nuestro jfrane /onografias.com +uego te vas a contenedores s)ing y jalas el deslizador /onografias.com .

e el lado derec3o te vas a tus controles s)ing /onografias.-I5E/?.ource&acBagesQ agregamos un nuevo pacBage llamado ejemplo. /onografias.etc le pones los nombres que quieres que lleve tu lista.E+ 59$$+E 0"559N .9 .propiedades y donde dice I5E/.luego en los Q.%l realizar esto agregamos una *Nrame que corresponde a un formulario de nivel superior en . /onografias.Nos vamos a nuestro código y empezamos a desarróllalo /onografias..com +e das un nombre a tu jframe /onografias.com %si es como nos queda nuestro proyecto solo es darle nuestro mensaje #9/9 G%#E2 "N% +I.com "na vez que lo 3ayas 3ec3o le das clicB derec3o en eventos.y lo llamados frmEjemplo.y le damos el nombre appEjemplo. ?.com #reamos un nuevo panel para que nos aparescanustro mensaje /onografias.FNinalmente agregamos una *NrameNorm al pacBage reci(n creado.F creamos una Nueva *ava %pplication.com .5% &rimero creas un nuevo proyecto y le das un nombre /onografias.com V como vemos en nustro programa llaesta listo para que se modifique solo los primeros pasos /onografias.action performed y generas tu código te aparecerá una ventana as .com *alas tu opción de lista y le das clicB derec3o .com +uego te vas al lado izquierdo y te vas a tu proyecto a paquetes le das clicB derec3o y le das ne) jframe /onografias.com E*E/&+9 ".6IN$.

incorporamosA importjava!. ^ ne) java!.y realizar el saludo cuando presionemos el 0utton.set5e!t(QIngresesunombreAQ)Ej0utton.INN92/%5I9NW/E.IN$).y un 0utton (j0utton)..%ction+istener() Cpublic void action&erformed(java.*0utton()Eset.setGorizontal $roup(layout.por QEjemplo con ..uppress6arnings(Qunc3ecBedQ)'' private void init#omponents() Cj+abel.s)ing.0ajo pacBage ejemplo.FEl código del programa.cambiamos las propiedades title (t tulo del *Nrame).create&arallel$roup(java!.F+uego.set.escribimosA*9ption&ane.$roup+ayout(get#ontent&ane())Eget#ontent&ane().y 3acemos doble clicB sobre el 0utton. .ise1o (.FEn la ventana de propiedades..*5e!tNield()Ej0utton. ^ ne) java!..espu(s de realizado lo anterior se deber a ver como sigueA /onografias.com Y.6IN$ los siguientes controlesA .s3o)/essage.que se encuentra al lado izquierdo de .%$E)E +o probamos.+E%.event..%ctionEventevt) Cj0utton.*+abel()Ej5e!tNield.FEl siguiente paso será escribir cierto código que nos permita ? cosasA mejorar la apariencia del *Nrame.com Z.set+ayout(layout)Elayout.s)ing.que trae incoporadoNet0eans.add$roup(layout.set.s)ing.esign).aludarQ)Ej0utto n.$roup+ayout layout ^ ne) java!.$roup+ayout.*Nrame Cpublic frmEjemplo() Cinit#omponents()ED[.%lignment.EeI5W9NW#+9.6indo)#onstants..arrastramos desde la &aleta de #ontroles .K. 5e!tNield (j5e!tNield).com O.add%ction+istener(ne) java.y tambi(n podemos desmarcar la propiedad 2esizable.ise1ador/atisse.a)t. #omo es un ejemplo básico no entrar( en muc3os detalles.>E y bajo la declaracionA publicvoidrun() CincorporamosA*Nrame.6IN$.s)ing. +abel (j+abel).ecorat ed(true)E /onografias.s)ing.com 7.event.ialog(t3isQGola Q J j5e!tNield.%ction&erformed(evt)EDD)Ejava!.ecorated(true)E*.ni tampoco establecer( sus respectivas propiedades Name. pacBage ejemploEimport java!..para que no podamos modificar el tama1o del *Nrame en tiempo de ejecución.incluyendo el código generado por Net0eans es el siguiente. ^ ne) java!..FEn la ventana anterior se puede apreciar el .efault#lose9peration(java!.presionándo el 5oggle0utton Q.get5e!t()-QsaludosQ-*9ption&ane.efault+ooB%ndNeel.esign.s)ing.F8olvemos a la vista de .y en lugar en que aparece el cursor.s)ing.6IN$Q)Eset2esizable(false)Ej+abel.y el programa corriendo queda.s)ing.P.además de la &aleta de #ontroles y la 8entana de &ropiedades.s)ing.set5e!t(Q.ialog.a)t.ourceQ.se vuelve a abrir la vista de código.+o siguiente ser a cambiar las propiedades te!t de cada uno de ellos para que el formulario quede de la siguiente formaA /onografias. /onografias.I.6IN$Q (sin comillas).>Epublic class frmEjemplo e!tends java!...E)Es et5itle(QEjemplo con .FEntonces nos vamos a la ventana de código.s)ing.efault+ooB%ndNeel.

9 add your 3andling code 3ereA*9ption&ane..$roup+ayout.ecorated(true)E*.:.W.).event.$roup+ayout..add#omponent(j5e!tNield.com #reamos nuestro jfrane para implementar los conceptos /onografias.s3o)/essage.?7?7).0%.create&arallel$roup(java!.s)ing.a)t.equential$roup().add&referred$ap(java!.set8ertical$roup(layout.Eprivate java!.*5e!tNield j5e!tNield.create&arallel$roup(java!.%ctionEventevt) C'' 59.P?P?).*0utton j0utton.&2ENE22E.+ayout.java!.add$ap(?7.add#omponent(j0utton.#omp onent&lacement.3ort.s)ing.+E%.IgE)..add#omponent(j+abel.IgE).INN92/%5I9NW/E.:).com %gregamos un nombre y damos finis3 /onografias. TSu( 3ace e!actamente el m(todo mainU.efault+ooB%ndNeel.add$roup(layout.$roup+ayout.ED #2E%/9.get5e!t()-QsaludosQ-*9ption&ane.&2ENE22E.)).%ction&erformed(java.).s)ing.set8isible(true)EDD)EDprivate java!.add$ap(.%$E)EDpublic static void main(.ecorated(true)Ene) frmEjemplo().tyle.s)ing.ialog.$roup+ayout./%eW8%+"E)))EpacB()ED'' private void j0utton.add$roup (layout.create.contiene "n panel (*&anel) principal que ocupa todo el *Nrame .com +isto tenemos nuetro proyecto /onografias.Eprivate java!. &ues llamar /onografias.add#omponent(j+abel.s)ing.a)t.s)ing.set.E+INE).add#ontainer$ap(7.W./%eW8%+"E)))Elayout.set.$roup+ayout.9 .ialog(t3is.s)ing.s)ing.IgE-java!.s)ing.add#ontainer$ap(O: .$roup+ayout..el proyecto.add$ap(P?.W.com 8emos pues que el *Nrame.create&arallel$roup(java!.add$roup(layout.&2ENE22E. %lignment.equential$roup().#omponent&lacement.%lignment.create.EN%"+5W.IgE-java!.efault+ooB%ndNeel.s)ing.$roup+ayout.2E+%5E.tyle.+E%.com Esta clase contiene el m(todo estático main (m(todo vinculado a la clase y no a sus instancias u objetos) necesario para arrancar.W.&2ENE22E.s)in g.:.create.IgE?IK-java!.IN$).))..java!.invoBe+ater(ne) 2unnable() Cpublic void run() C*Nrame.2E+%5 E.add$roup(layout.%lignment.IN$).+ayout.92 /onografias.3ort.EventSueue.add&referred$ap(java!.tring args\]) Cjava.s)ing.equential$roup(). "N N"E89 &29VE#59 ++%/%.).a trav(s de la máquina virtual de *ava.QGola Q J j5e!tNield..$roup+ayout.add#omponent(j0utton.E&%2%.add#om ponent(j5e!tNield.s)ing.*+abel j+abel.)).

P.?.E GI+9.%. #oncepto de 3ilo."n menu principal (*/enu0ar) con dos opciones file/enu y 3elp/enu (los dos son componentes */enuItem y los dos tienen a su vez una opción de men<.com &rograma que realiza calcula los grados de temperatura #rear un nuevo proyecto I#Efaces vamos a crear un proyecto llamado procomponentesicefaces tal y como creamos el proyecto projspservlets en el apartado #rear un nuevo proyecto 6eb En este proyecto indicamos en el combo .incronización de 3ilos #9/9 $ENE2%2 "N &29VE#59 .com &ara 3acer un código en 3ilos tienes que gregarle e!tends 53read despu(s de tu primer public class /onografias..O. P Gilos P. 2%&I.erverA que el servidor es $lassNis3 8? y seguidamente 3acemos clic soble el botón /onografias.P. . /onografias. EN *%8% /onografias.com &29$2%/% .. #reación y control de 3ilos P.son los llamados */enuItem). #omparación de un programa de flujo <nico contra uno de flujo m<ltiple P.E GI+9.com +isto lla tenemos nustro peque1o separador en netbeans "NI.com /onografias.com .%/EN5E &rimero creas un proyecto y le das nombre /onografias.com &rograma de 3ilos de cómo se van 3aciendo los nombres de cada 3ilo /onografias.

et+ayout y le damos 0order+ayout 3ec3o esto colocamos dos paneles A uno en el sur y otro en el centro (seguir el orden para no tener complicaciones).P.incronización de 3ilos "na ventana splas3 es una ventana de presentación E sin los botones clásicos y que va a servir para darle una mejor presentación a nuestro proyecto.espu(s de 3aber agregado los paneles a cada uno le vamos a dar 0order+ayout al igual que al frame. #reación y control de 3ilP.O.com 8amos a trabajar en nuestro Nrame.com P.plas3 en el cual vamos a agregar un *Nrame y tambi(n creamos una clase para el 3ilo que vamos a usar . .com /onografias.En el apartado Nrame)orBs indicamos lo siguiente /onografias.com %3ora creamos un paquete .com #reamos el folder en donde irá nuestra imagenE para ello clic derec3o en .ource &acBage U Ne) U 9t3er por lo que saldrá una ventana en la cual debemos elegir 9t3er U Nolder y finalmente le damos el nombre que queramos /onografias. .por lo que les debe quedar as A /onografias. Esta ventana se debe colocar al principio de nuestra aplicaciónE para empezar debemos dise1ar la que será nuestra imagen de presentación la cual por motivos de tiempo eleg la de Net0eans E y a esta le vamos a agregar una barra de progreso A %brimos el Net0eans y creamos un nuevo proyecto . #omparación de un programa de flujo <nico contra uno de flujo m<ltiple P.comI#Efaces lo seleccionamos /onografias.al cual le 3acemos clic derec3o U .el cual lo desmarcamos para que no cree la clase main A /onografias. Gec3o esto vamos a colocar en el panel del sur un *&rogress0ar al que le vamos a llamar progreso y en el panel central una etiquetaE nos debe quedar as A &ara cambiar el nombre del *&rogres0ar podemos darle clic derec3o a la barra y elegimos Q#3ange 8ariable nameQ a continuación nos saldrá la siguiente ventana en la cual debemos colocar el nombre de .?.com &ara terminar de crear el proyecto 3acemos clic sobre el botón /onografias.

plas3 U Ne) U *ava #lass y a la clase le damos de nombre Gilo&rogreso y la vamos 3acer que e!tienda de 53read E en esta clase debemos crear una referencia a la barra de progreso que vamos a pasar por parámetros para lo cual declaramos un *&rogress0ar progreso A pacBage .set.la barra /onografias.set0order&ainted(true)E t3is.plas3Eimport java!..plas3 A public void iniciar.plas3() C t3is.set.*&rogress0arEpublic class Gilo&rogreso e!tends 53readC *&rogress0ar progresoE .para ello clic derec3o sobre el atributo U seleccionamos 2efactor U .*NrameC Gilo&rogreso 3iloE 8amos a el constructor y le agregamos el siguiente código A public &rincipal() C ''/(todo por defecto init#omponents()E iniciar..eleccionamos Encapsule Nields y en la ventana que aparece simplemente seleccionamos los m(todos set y get que deseamos que Net0eans genereA /onografias.para ello o bien lo agregamos directamente o bien 3acemos que el Net0eans lo genere .tring&ainted(true)E D Net0eans nos debe estar marcando un error .s)ing.com Gec3o esto aparecerá la siguiente l nea de código A public java!.s)ing.().ver esta entrada para ver cómo colocar una imagen A /onografias.a)t.com En el dise1ador del *Nrame nos vamos a agregar código .*&rogress0ar getj&rogress0ar.set+ocation(?::-?::)E t3is.esto se da porque a<n no 3emos creado nuestra clase Gilo&rogreso E para ello clic en el paquete .().plas3()E ''#reamos un objeto Gilo&rogreso al cual ''le pasamos por parámetro la barra de progreso 3ilo^ne) Gilo&rogreso(progreso)E ''Iniciamos el Gilo 3ilo.com /onografias.getj&rogress0ar.().getj&rogress0ar.getj&rogress0ar.com En el panel central vamos a colocar una etiqueta al cual le vamos a colocar una imagen.::))E t3is.I:.ize(PK?-?PZ)E ''+iberamos recursos 3ilo^nullE D #reamos un m(todo get para nuestro *&rogress0ar .para ello 3acemos clic en en boton source /onografias.#olorEpublic class &rincipal e!tends java!.setNoreground(ne) #olor(I:.IO.() C return progresoE D %3ora si podemos crera nuestro m(todo iniciar .s)ing.start()E ''+e damos tama1o y posición a nuestro Nrame t3is.comE y ya en la clase del *Nrame (al cual llame &rincipal) le agregamos un objeto Gilo A import java.

::EiJJ) C progreso.>E ? import java.events y s)ing.a)t. Este es su esqueletoA :.a)t.%3ora vamos a crear nuestro m(todo constructor el cual va a tener como parámetros una barra de progreso.Ei`^.E D Gec3o esto vamos a crear el m(todo run que va a servir para correr el 3ilo A public void run() C for(int i^.eg)E Dcatc3(E!ception e)CD D Gec3o esto presionamos NY y veremos algo como esto A /onografias.::R n bien corramos la aplicación A public void pausa(int ml. import java.::)E D D V por <ltimo creamos nuestro m(todo pausa .class.com &ara crear la calculadora de la imágen anterior debemos tener en cuenta la interfaz y los eventos. +o ideal es mantener el código que permite los cálculos en una clase separada.se debe observar como se da la relación de asociación E es decir la referencia del objeto que pasó por parámetro la asigno a la referencia que cree anteriormente y con esto puedo usar todos sus m(todos (el super es para llamar al m(todo constructor de la clase 53read y por ley debe ser la primera l nea en el m(todo constructor de la clase 3ija) A public class Gilo&rogreso e!tends 53readC *&rogress0ar progresoE public Gilo&rogreso(*&rogress0ar progreso.event. .pero aqui todo se realizará en una <nica clase.eg) C try C '' pausa para el splas3 53read.&ara comenzar a trabajar con componentes gráficos y eventos debemos agregar al inicio del arc3ivo de la clase las siguientes inclusionesA .set8alue(i)E pausa(.Estructura del programa Nuestra clase se llamará /ain y nuestro arc3ivo main.) C super()E t3is.s)ing.progreso^progreso.>E O import java!.>E #on esto importamos todas las clases a)t. public class /ain e!tends *Nrame implements %ction+istener C .sleep(ml.que como el nombre indica nos va a dar una pausa para que la barra de progreso no llegue al .

b ^ :E :I private int eq ^ :E :Y private c3ar op ^ :E :K :7 public /ain() C :Z .? public static void main(.:? :O private *5e!tNield tE :P private int a ^ :.O ne) /ain()E . .. .: D ...tring\] args) C .

QYQ.I .Q. super(Q#alculadora 0ásicaQ)E :? .P D .Y public void action&erformed(%ctionEvent e) C .el primero un cuadro de te!to.Z D #omo se puede ver..tring label0uttons\] ^ CQKQ.que nos servirá para crear la interfaz y asignar eventos a los controles correspondientes (lo veremos a3ora mismo).QPQ.QIQ.K .Q>Q.Q#Q.QZQ.get#ontent&ane()E :P .QFQ-Q:Q.nuestra clase e!tiende *Nrame e implementa la interface %ction+istener que nos obliga a implementar el m(todo action&erformed (clicB en botón).Q^Q. +uego tenemos un m(todo estatico especial llamado main (en min<sculas) que nos permite ejecutar la calculadora. #reando la interfaz .V por <ltimo un evento para capturar los clicBs del usuario sobre los diferentes botones de la calculadora.. .Q'Q.Q7Q.QOQ.7 D .Q?Q...entro del constructor podemos ver este códigoA :.e tienen atributos privados.+uego tenemos el constructor de la clase.QJQDE :O *&anel cp ^ (*&anel) t3is.Q.los demas contadores y variables de control.

add(t.I cp.lengt3E JJi) C :7 *0utton button ^ ne) *0utton(label0uttons\i])E :Z button.: p..P t.add%ction+istener(t3is)E .setGorizontal%lignment(*5e!tNield. D .Y .P))E :K for (int i ^ :E i ` label0uttons.set5e!t(Q:Q)E .5%25)E .set+ayout(ne) $rid+ayout(:.? t ^ ne) *5e!tNield()E .cp.0order+ayout.O t.2I$G5)E .&%$EW.set+ayout(ne) 0order+ayout())E :I *&anel p ^ ne) *&anel()E :Y p.add(button)E .

out.get. :. .out.get5e!t().print(Q Q)E :7 .i lo notaron tiene un orden algo e!tra1o.ystem.0order+ayout.c3ar%t(:)E :O if (c X^ b:b LL c `^ bZb) C :P .t3is.print(a)E :K .3ace referencia a esta misma instancia de la clase /ain).cp. #apturando los eventos Nuestra interfaz nos quedó muy bonita..ource()).&osteriormente creamos un *&anel y le asignamos un layout tipo grid de P columnas. .#EN5E2)E &rimero asignamos el t tulo de la ventana y creamos un vector con los caracteres de los botones.. Implementación :I ''+og :Y .esto se debe al algoritmo que se usa luego para crear los controles recorriendo el vector. public void action&erformed(%ctionEvent e) C :? c3ar c ^ ((*0utton) e.entonces al recorrer el vector vamos agregando a este panel objetos *0utton creados con la etiqueta que obtenemos del item actual del vector y de paso ya le asignamos el controlador del evento (el mismo objeto. Inicialmente le asignamos un te!to igual a Q:Q..pero no 3ace nada.pero nos falta un poco para terminar el dise1o.add(p.ebemos darle funcionalidad y esto lo 3acemos en el evento que captura los clicB del usuario sobre los diferentes botones de la interfaz.%l salir del ciclo ya tenemos todos los botones. #reamos un cuadro de te!to y le fijamos alineación de te!to a la derec3a (será donde se muestren los resultados entre otras cosas).%l panel principal le colocamos el layout 0order+ayoutagregamos el cuadro de te!to arriba y al centro el panel que contiene todos los botones generados anteriormente.ystem.

let.procedemos a generar las clases a partir del código fuente.i todo 3a ido bien.obre esta ventana.en el recuadro Icon escribiremos 'icons'icono&eq.aparecerá un mensaje indicado que la generación se realizó de forma correcta.tal y como se aprecia a continuaciónA /onografias.aparecerá el emulador con el /I.com /onografias. &ara ello se pulsa el botón 0uild.se mostrarán en la ventana principal de =5oolbar.%. I .com /onografias. %l pulsarlo.com %3ora basta con pulsar sobre el botón Edit.print(b)E "NI.lo que dará lugar a la aparición de la ventana de ediciónA /onografias. En cuanto se 3a generado el /I. #on esto queda registrado el cambio de la propiedad correspondiente al icono del /I.com /onografias.let. .png. . En caso de 3aber errores.com /onografias.com /onografias.out. Esto es todo lo necesario para poder generar y ejecutar el /I.com %l finalizar se pulsa sobre el botón %ceptar de la ventana de edición.letA /onografias.com /onografias.ispositivos móviles /onografias.com V pulsando sobre el botón 9= desaparece la ventana de propiedades.let listo para ejecución.com ..ystem.podemos ejecutar mediante el botón 2un. En primer lugar.