Sie sind auf Seite 1von 49

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

Introduccin 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 tpicos avanzados de programacin. Es necesario tener conocimientos bsicos de programacin orientada a objetos y fundamentos de programacin para la generacin de programas y cone!iones en java (net beans). Instrucciones para el uso del manual "sar java (net beans) #onocer lenguajes de programacin y algoritmos $losario %bstraction (abstraccin) &ropiedad y'o t(cnica de soft)are que oculta los detalles de la implementacin. *ava soporta abstraccin de clases y abstraccin de m(todos. +a abstraccin de m(todos se define separando el uso de un m(todo sin conocer como est implementado ese m(todo. ,i decide combinar la implementacin- el programa cliente ser afectado. .e modo similar la abstraccin de clases oculta la implementacin 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 indicacin de un buen dise1o %gregacin (aggregation) 2elacin en la que un objeto se compone o est construido de uno o ms objetos- de modo que la coleccin completa representa un todo. +as relaciones de agregacin se especifican entre clases y se reflejan en instancias de objetos %lgoritmo (algorit3m) /(todo que describe cmo 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 programacin. 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 estn definidas. +os m(todos privados tambi(n tiene mbito de clase. %nlisis (anlysis) &roceso de identificacin- modelado y descripcin de lo que 3ace un sistema y de cmo trabaja %plicacin (application) &rograma autnomo *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 estn sometidas a las restricciones impuestas los applets de *ava. "na clase aplicacin debe contener un m(todo main. ,e utiliza como sinnimo 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) Informacin pasada a un m(todo. +os argumentos se suelen llamar tambi(n parmetros. "nm(todo que espera recibir argumentos debe contener una declaracin 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 parmetro 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. %signacin (assignment) %lmacenamiento de un valor en una variable. +a sentencia de asignacin es aquella que implementa la asignacin y utiliza un operador de asignacin %sociacin (association) "na relacin 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!presin. +a asociatividad por la izquierda produce una evaluacin de izquierda a derec3a y la asociatividad por la derec3a conduce a una evaluacin de derec3a a izquierda. a)t(%0,52%#5 6IN.96599+=I5)#oleccin de clases (java.a)t.>) que se utiliza paraimplementar interfaces grficas de usuario. #ontienecomponentes tales como botones- etiquetascampos dete!to- reas de te!to- barras de desplazamiento- cajas deverificacin y men<s. +as clases de %65 proporcionan una interfaz independiente de la plataforma para desarrollo de programas visuales e interfaces grficas de usuario. 0iblioteca de clases (classlibrary) #oleccin organizada de clases que proporciona un conjunto de componentes y abstracciones reutilizables 0inario (binary) 2epresentacin num(rica en base ?. En esta base slo 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 bsicos de construccin 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- lgico) 5ipos primitivos de datos en *ava. El tipo bolean puede tomar slo dos valoresA true (verdadero) y false (falso). 0ytecode (cdigos de byte) 2esultado de la compilacin del cdigo fuente *ava. +a*8/ (*ava 8irtual /ac3ine) interpreta los bytecodes con lafinalidad de ejecutar un programa *ava. El bytecode esindependiente de la mquina y se puede ejecutar encualquier mquina que tenga un entorno de ejecucin. +os bytecodes se almacenan en arc3ivos class #abecera de la clase(class 3eader) #abecera de la definicin 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) #oleccin encapsulada de datos y operaciones que act<an sobre los datos. El concepto de clase es fundamental en programacin 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 ms simples y concisos. clase interna (inner class) 5(rmino utilizado para describir una clase declarada dentro de otra declaracin de clases. #lase miembro (memberclass)

5(rmino general utilizado para describir una clase declarada dentro de otra declaracin 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 programacin y son ignorados por el compilador. En *ava los comentarios estn precedidos por dos barras ('') en una l nea o encerrados #ompilacin (compilation) &roceso de traduccin de un lenguaje de programacin. Normalmente este proceso implica la traduccin de un lenguaje de programacin de alto nivel a lenguaje de programacin de bajo nivel- o el formato binario de un conjunto de instrucciones espec ficas. +a traduccin se realiza con un programa denominado compilador. "n compilador java traduce los programas en bytecodes. #ompilacin (compiling) Nombre dado al proceso de traduccin del cdigo fuente a bytecodes. #ompilador (compiler) &rograma de soft)are que realiza un proceso de compilacin (traduccin del lenguaje fuente a lenguaje mquina) de un programa escrito en un lenguaje de programacin de alto nivel. En el caso de *ava- es un programa que traduce el cdigo fuente *ava en bytecode. El compilador de *?,.= se denomina javac. #ompilador en tiempo de ejecucin (instFin.time compiler) #ompilador capaz de compilar cada bytecode de una vez- y a continuacin se reinicia al cdigo 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 construccin de objetos con diferentes tipos de valores iniciales.

#onstructor por defecto (default constructor) #onstructor que no tiene parmetros y sirve para inicializar un objeto #ontenedor (container) #lase que implementa una estructura de datos que contiene una coleccin de objetos. ,e utiliza tambi(n para representar un componente I$" - Interfaz $rfica de "suario ($"IE $rap3ical "ser Interface) que contiene una coleccin de otros componentes I$" #uerpo de la clase (class body) #uerpo de una definicin de una clase que agrupa las definiciones de los miembros de la claseA camposm(todos y clases anidadas. .eclaracin (declaration) .efine las variables- m(todos yc lasees en un programa. .efinicin (defnition) 5(rmino sinnimo de declaracin- aunque en el proceso de escritura de un programa se suele diferenciar .epuracin (debugging) &roceso de encontrar- fijar y eliminar errores en un programa. &ara estas tareas se suele utilizar una 3erramienta de programacin conocida como depurador. .epurador (debugger) Gerramienta para ayudar a la localizacin de errores de un programaA jdbc se proporciona como parte del *?,.=. "n depurador puede establecer puntos de interrupcin (breaBpoint)- parada simple a trav(s de un programa e inspecciona el estado de las variables. .iagrama de clases (class diagram). "na representacin grfica construida utilizando una notacin formal para visualizar y documentar las relaciones entre clases de un sistema. .ise1o (dise1o) %ctividad de definir como se debe estructurar e implementar un programa. Encapsulamiento- encapsulacin (encapsulation) +ocalizacin y proteccin de las caracter sticas internas y estructura de un objeto. #ombinacin de m(todos y datos en una <nica estructura de datos. En *ava se conoce como clase Entero (integer) "n n<mero completo (no es un n<mero real con coma decimal) tal como HI- ;- ;: y ?::?. +os enteros se pueden representar en *ava de dos formasA utilizando el tipo primitivo int o utilizando una instancia de una clase integer. E!cepcin (e!ception) "n suceso (evento) no previsto que indica que un programa 3a fallado en alguna forma. +as e!cepciones se representan por objetos e!cepcin en java. +as e!cepciones se manejan con un bloque de sentencias try'catc3. E!presin (e!presin) "na subparte de una sentencia que representa un valor. &or ejemplo- la e!presin

aritm(tica @?JI@ representa el valor K. En *ava- cualquier construccin sintctica legal que represente un valor es una e!presin. E!presin booleana lgica (0olean e!presin) "na e!presin cuyo resultado es del tipo lgico (bolean- bol)- 9peradores tales como LL y MM toman operandos lgicos y producen un resultado lgico. +os operadores relacionales toman operandos de tipos diferentes y producen un resultado lgico. Ninal (final) /odificador de clases- datos- m(todos y variables locales. "na clase final no se puede e!tender- un dato final o variable local es una constante y un m(todo final no sepuede anular (sustituir) en una subclase. Normal parameter (parmetro formal) &armetros definidos en la signatura o declaracin del m(todo. Nuente del suceso (event source) El objeto que genera el suceso. Nuncin (function) #onstruccin matemtica a la que se pueden aplicar valores y que devuelve un resultado. Gerencia (in3eritance) "na relacin 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 pginas 6eb para creacin y comparticin de documentos electrnicos integrados preparados para multimedia e Internet. I?,= El *ava ? ,oft)are =it distribuido por Inn proporciona el conjunto de 3erramientas para escribir programas *ava- las bibliotecas de calse *ava- el compilador *ava(javac)y una coleccin de otras utilidades. +as versiones se numeran en secuencia con ;.?-;.O-;.P(la ms reciente dentro de la implementacin de la plataforma *ava ?. I.E (integrated development) ,oft)are para ayudar a lso programadores a escribir cdigo eficientemente. Identificador (identifier) Nombre de una variable- m(todo- clase- interfaz o paquete. I$"- Interfaz $rfica de "suario ($"I- $rap3ical "ser Interface) "na interfaz es un programa que se implementa utilizando componentes %65 tales como cuadros-

botones- etiquetas- campos de te!to- etc. Implementacin (implementation) +a actividad de escribir- compilar- probar y depurar el cdigo de un programa. Instancia (instance) 9bjeto de una clase Instanciacin (instantiation) &roceso de creacin de un objeto de una clase. Instanciacin (instantion) &roceso de crear un objeto de una clase. Interfaz (interface) "na interfaz se trata como una clase especial de *ava. #ada interface se compila en un arc3ivo independiente de bytecode- tal como una clase ordinaria. No se puede crear un instancia de la interfaz. +a estructura de una interfaz *ava es similar al de una clase abstracta en la que se puede tener datos y m(todos. +os datos -sin embargo -deben ser constantes y los m(todos pueden tener slo declaraciones sin implementacin. En *ava e!iste slo 3erencia simple y una clase puede 3eredar de una supereclase. Esta restriccin se puede superar por el uso de una interfaz. Interprete (Interpreter) ,oft)are que interpreta y ejecuta bytecode de *ava. +a mquina virtual *ava (*8/) es un interprete de bytecodes de *ava que proporciona una emulacin de soft)are de un procesador de muina. *.= (*ava development Bit) vease *?I=* .efine el %&* de *ava y contiene un conjunto de utilidades de l neas de rdenes tales como *avac (compilador) y *ava(interprete). *erarqu a de clases (class 3ierarc3y) #oleccin de clases organizadas en t(rminos de relaciones de superclases y subclases. *8/- /quina 8irtual *ava (*ava 8irtual /ac3ine) "na emulacin de soft)are de una mquina que puede ejecutar bytecodes de *ava. &roporciona una implementacin del procesador- sistema dememoria e interfaces a dispositivos 3ard)are. 5odos los programs *ava se compilan a bytecodes que se ejecutan por una *8/. +igadura dinmica (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.

+lamada por referencia (callFbyFreference) 5(rmino utilizado cuando yuna referencia de un objeto se pasa como un parmetro de un m(todo. +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.value) valor del argumento real se toma y se sit<a en una posicin de memoria independiente- representada por el correspondiente argumento formal. 5odos los parmetros se pasan en *ava por valor- pero 3ay otros lenguajes de programacin que proporcionan tambi(n el m(todo de paso por referencia. /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. /arco de trabajo (frame)orB) /ensaje (message) "na peticin enviada a un objeto que solicita ejecutar una operacin determinada. El mensaje incluye un nombre y una lista opcional de parmetros. /(todo abstracto (abstract met3od) /(todo que slo tiene signatura y no tiene cuerpo- y debe estar contenido dentro de una clase abstracta. ,u implementacin se realiza en la subclase. ,e representa mediante el modificador abstract. +os m(todos abstractos deben implementarse en una subclase no abstracta incluso aunque no se utilicen. /(todo de la clase (class met3od) ,innimo de m(todo esttico. "n m(todo que se puede invocar sin crear una instancia de la clase. &ara definir m(todos de clases- se 3a de poner un modificador static en la declaracin del m(todo. /(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). /oldeado (casting- conversin) &roceso de convert r un valor de un tipo de dato primitivo en otro tipo primitivo o conversin de un objeto de un tipo de dato en otro tipo de objeto. &or ejemplo- (int) P.I convierte P.I en un valore entero y (cuadrado)c convierte un objeto c en uno de tipo cuadrado /oldear (cast-- convertir) #ambiar e!pl citamente el tipo de una e!presin utilizando una e!presin de conversin (cast). 9bjeto instancia (instance object) "n objeto instancia es un representacin de un valor del tipo implementado por su clase. +a clase declara un objeto de variables- instancia que forman la estructura de un objeto y un conjunto de

m(todos que se pueden llamar en un objeto. 9cultacin de la informacin (information 3iding) "n concepto de ingenier a de soft)are que se refiere a la ocultacin y proteccin de las caracter sticas internas y la estructura de un objeto. 9yente de sucesos (event listener) El objeto que recibie y maneja el suceso. &alabra clave- reservada (Bey)ord) En *ava- una palabra clave (o palabra reservada) es una palabra definida como parte del lenguaje de programacin"n nombre de palabra reservada no se puede utilizar para ning<n otro propsito. &alabra reservada- &alabra definida como parte del lenguaje *ava '(vease enpalabra clave (Bey)ord) %p(ndice % -la lista de palabras reservadas *ava). &armetro actual o real (actual parameter) 8alor que se pasa a un m(todo cuando se invoca ese m(todo. +os parmetros reales (actuales) deben concordar en tipo- orden y n<mero con los parmetros formales. #uando se invoca a un m(todo- los valores de los argumentos actuales se copian en los correspondientes argumentos formales. &armetro formal (formal parameter) .eclaracin de una variable parmetro en una lista de parmetros de un m(todo. &lataforma de *ava ?. (*ava ? &lataform) Nombre de la versin ms reciente de *ava. &rogramacin controlada por sucesos (eventFdrive programming) +a programacin de grficos en *ava est controlada por sucesos. En programacin controlada por sucesos (o enventos) los cdigos se ejecutan por activacin de sucesos- tales como pulsar un botn o mover el ratn &rogramacin imperativa (imperative programming) &rogramacin basada en los principios de instruccin o secuencias de rdenes- seleccin- repeticinvariables y asignacin. 5ambi(n se conoce a esta programacin como procedimental o por

procedimientos. *ava es un lenguaje imperativo. 2ecoleccin de basura (garbage collection) ,entencia compuesta (compound statement) ,entencia contenedora que consta de una secuencia de otras sentencias y declaraciones. En *ava se utilizan llaves (C y D) para delimitar una sentencia compuesta. ,uceso (event) "n tipo de se1al que indica 3a ocurrido alguna accin. Normalmente se asocia con sucesos de entrada de interfaces grficas de usuario (p.e. el QclicQ de un ratn- pulsacin de una tecla- etc. ) El programa puede responder o ignorar el suceso. 8(ase evento. 5ipo abstracto de datos 5%. (%.5- %bstract .ata 5ype) Especificacin formal de un tipo de dato que consta de un nombre- un conjunto de operaciones y una descripcin algebraica del comportamiento de las operaciones. 5ipo de datos (data type) +os tipos de datos se utilizan para definir variables. *ava soporta los tipos de datos primitivos y tipos de datos objeto. 5ipo de datos (data type) 5ipo de dato que se utiliza para definir variables. *ava soporta tipos primitivos de datos y tipos de datos objeto. 8ariable de clase (class variable) ,innimo de variable esttica. 8ariable de instancia (instance variable) "na variable declarada en una clase. "n miembro dato no esttico de una clase. "na copia de un m(todo de una instancia e!iste en cada instancia de la clase que se crea. 8ariable local (local variable) 8ariable definida en el interior de una definicin de un m(todo. #lase &rincipal (main class) "na clase que contiene un m(todo principal (main). /ensaje (message) &eticin enviada a un objeto que solicita realizar una operacin con nombre. El mensaje incluye un nombre yuna lista opcional de parmetros. /(todo (met3od) "na coleccin de sentencias que se agrupan juntos para ejecutar una operacin.

/et3od object ,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 parmetros. Nented class (Nented class) "na clase esttica declarad dentro de otra clase. .enominada tambi(n una clase anidad de nivel superior. %nulacin de m(todos (met3od overriding) +a anulacin o sustitucin de m(todos significa que se puede modificar el m(todo de una subclase que est definida originalmente en una superclase. /odificador (/odifer) "na palabra reservada en *ava que especifica las propiedades de los datosm(todos y clases- y como se pueden utilizar. Ejemplos de modificaciones son public-private y static. /ulti3ilo (mulit3reading) &ropiedad de un programa para ejecutar diversas tareas simultneamente dentro de un programa. 2ed (net)orB) Infraestructura que permite a los ordenadores comunicarse unos con otros. 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. 9bjeto (object) 8ease instancia. "na instancia de una clase espec fica. En general- se puede construir cualquier n<mero de objetos a partir de una clase. %nlisis orientado a objetos 99% (objetctoriented %nalysis) %nlisis realizado en t(rminos de objetos- clase y relaciones de clases. .ise1o orientado a objetos 99. (object.oriented design) .ise1o realizado en t(rminos de objetos- clases y selecciones de clases. 9perador (operator) 9peraciones para valores de tipos primitivos de datos. Ejemplos de operadores son J-F->-' y R &rogramacin orientada a objetos 99& (objectoriented programming) "n enfoque de programacin que implica organizacin de objetos y sus comportamiento en clases de componentes realizables.

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

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

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

Nlujo (,tream) 5(rmino que describe el flujo de datos continuo de una direccin entre un emisor y un receptor. ,ubclase (subclass) "na clase que 3ereda o se e!tiende de una superclase. ,uperclase (superclass) "na clase que puede ser 3eredada de otra clase. ,ubtipo (subtype) "n tipo que 3ereda o se e!tiende de un supertipo. ,uperclase (superclass) "na clase que es 3eredada por una subclase. ,upertipo (supertype) "n tipo que es 3eredado por un subtipo. ,inta!is (,ynta!) "n conjunto de reglas que especifica la composicin deprogramas a partir de palabras reservadas- s mbolos y caracteres. +a sinta!is define la estructura de los programas legales en t(rminos de cmo las palabras reservadas y otros caracteres se pueden escribir y en qu( orden. Etiqueta (tag) "na instruccin G5/+ que indica a un navegador 6eb como visualizar un documento. +as etiquetas se encierran entre corc3etes tales como - - - y . &rueba' probar (test) En t(rminos de programacin- la actividad de verificacin sistemtica de que un programa funciona correctamente. &rueba (testing) 8(ase prueba Gilo (t3read) "n flujo de ejecucin de una tarea que tiene un principio y un fin- en un programa. "/+ ("/+) +enguaje unificado de modelado que proporciona notacin estndar visual para documentar el anlisis y dise1o de sistemas orientados a objetos. "nicode (unicode) "n sistema de codificacin de caracteres internacionales gestionados por el consorcio "nicode- *ava soporta "nicode. &resentacin +a educacin superior constituye una importante inversin que como ciudadanos deben adems de proteger desarrollar- pues es un factor indispensable para poder sobrevivir en el mundo actual y seguramente en el ma1ana- por esta razn considero de importancia que la educacin ,uperior no solo sea vista desde el aspecto econmico- como gasto o inversin o generadora de capital- es en igual escala e inclusive mayo ver el aspecto social- mirarla como generadora de potencial 3umano necesario para el desarrollo y la transformacin de la sociedad. %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 opcin para que la educacin 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- con pobreza e!trema- desempleomarginacin- delincuencia- narcotrfico- etc. que amenaza no solo su estabilidad sino tambi(n la e!istencia de las Instituciones de Educacin ,uperior

+as nuevas tendencias educativas indican que el estudiante debe tener un papel ms activo en su aprendizaje- por lo tanto el profesor debe adoptar nuevas prcticas y t(cnicas de ense1anza- 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 cul se adecua a su asignatura o asignaturas para producir un sistema de mayor interactividad- 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- ya que no slo nos enfrentamos con la falta de recursos- tambi(n e!iste resistencia al cambio no solo por parte de los docentes sino tambi(n de los alumnos- 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. Es aqu donde la tutor a toma importancia dentro de la Educacin ya que (sta se entiende como un proceso de acompa1amiento dinmico en la formacin del estudiante- la cual se lleva a cabo de forma peridica y sistemtica y el estudiante obtiene varios beneficios entre los que se incluyenA +a adquisicin de valore- el desarrollo de 3bitos y 3abilidades- 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 solucin de problemas no slo de la vida escolar sino de la sociedad en general. "na manera de garantizar este 3ec3o es que los encargados de la Educacin no slo tengan formacin en un rea de investigacin sino tambi(n en el aspecto pedaggico- 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. Esta materia aporta al perfil la competencia para desarrollar soluciones de soft)are utilizando programacin concurrente- programacin de eventos- que soporte interfaz grfica y comunicacin con dispositivos mviles. ,e inicia estudiando la programacin concurrente desde la conceptualizacin del 3ilo- su creacincontrol y destruccin- as como la sincronizacin de varios 3ilos. Ninalmente la materia se complementa con la introduccin a la programacin mvil- a trav(s de la revisin de las distintas tecnolog as- seleccin de una de ellas y desarrollo de una aplicacin bsica. &ara el logro de los objetivos es necesario que el estudiante tenga competencias previas en cuanto a paradigmas de programacin- el uso de metodolog as para la solucin de problemas mediante la construccin de algoritmos utilizando un lenguaje de programacin orientada a objetos- el manejo de conceptos bsicos de Gard)are y ,oft)are- construccin de modelos de soft)are empleando el lenguaje de modelado unificado ("/+). .ebido a las competencias que el estudiante requiere como base para el desarrollo de las planteadas en este programa- 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 programacin 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 programacin )eb. Normar profesionistas con una slida formacin en las reas de ,oft)are 2edes y Gard)are- con el optimizar los recursos computacionales disponibles en las organizaciones para resolver diversos problemas.

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

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

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

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

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

import java.io.I9E!ceptionE import java.net."2+E import java.util.logging.+evelE import java.util.logging.+oggerE import java!.imageio.ImageI9E import java!.s)ing.ImageIconE '>> > [)eb 3ttpA''jcFmouse.blogspot.com' > [aut3or /ouse >' public class imagenNE5 e!tends java!.s)ing.*+abel C

,tring imagenE 0ufferedImage WimageE

public imagenNE5(,tring i-.imension d)C t3is.imagen^iE t3is.set0ounds(:- :- (int) d.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.imagen)E Wimage ^ ImageI9.read(Wurl)E

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

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

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

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

8amos a a1adir un cdigo que nuestro trabajo botn %1adir. El cdigo fuente terminado deber tener el siguiente aspectoA private void j0utton?%ction&erformed(java.a)t.event.%ctionEvent evt)C private void j0utton?%ction&erformed (evt java.a)t.event.%ctionEvent) ( ' ' &rimero definimos las variables float. float num;- num?- resultadoE ' ' 5enemos que analizar el te!to a un tipo float. num; ^ Nloat.parseNloat (j5e!tNield;.get5e!t ())E num? ^ Nloat.parseNloat (j5e!tNield?.get5e!t ())E ' ' %3ora podemos realizar la suma. resultado ^ num; J num?E ' ' %3ora vamos a pasar el valor de resultado que j5e!tNieldO. ' ' %l mismo tiempo- vamos a ' ' #ambiar el valor del resultado de un flotador en una cadena. j5e!tNieldO.set5e!t (,tring.value9f (resultado))E

&29$2%/% P &aso ;A 9bserva el siguiente tutorial /onografias.com /onografias.com &aso OA %3ora vamos a agregar algunos componentes al *Nrame. ,elecciona un label en la paleta 3aciendo clicB y luego agr(galo al *Nrame 3aciendo clicB sobre esta donde quieres que aparezca. .e la misma manera agrega un te!t field y un button. %l terminar tu ventana debe verse de la siguiente maneraA /onografias.com %3ora vamos a cambiar el nombre de nuestros componentes para que sean ms fciles de identificar.

.e la misma manera que antes- a pesar de que los nombres no son importantes para *ava- por convencin debemos elegir nombres representativos que nos indicen para qu( sirve cada uno de los componentes. %dems de eso se utiliza que por convencin 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 .e esta manera vamos a seleccionar nombres para nuestros controles. &ara cambiar los nombres debes utilizar la ventana Inspector como se ve en el video. &uedes seleccionar un control y presionar N? para cambiarle el nombre. "tiliza los siguientes nombres para tus controlesA #omponente Nombre *+abel lblName

*5e!tNield t!tName *0utton btnEnter &29$2%/% I &aso ;A %3ora lo que vamos a 3acer es cambiar el te!to de los componentes para que sea ms claro. /onografias.com &ara encontrar ms fcilmente las propiedades podemos seleccionar la caja de propiedades y comenzar a escribir- si 3acemos esto aparece la ventana SuicB ,earc3 que nos permite escribir algo y lo busca por nosotros. 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. /onografias.com .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.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()- recuerda que el m(todo main() es el punto de inicio de la aplicacin- es decir- la primera parte del cdigo que se ejecuta.

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

5odas estas librer as son 9pen ,ource y las puede encontrar en internet- les dejo algunos enlaces. &rograma 7 %G92% % +% %##IcNa U %brimos el Net0eans Y.7 y vamos a Q%rc3ivo'&royecto nuevoQ- como se muestra 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 botn Q,iguienteXQ tal cual se muestra resaltado con rojo en la imagenA

/onografias.com ,eleccionar &royecto El siguiente paso es el dos y se puede apreciar en el cuadro rojo Q?.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- la localizacin del proyecto automticamente Net0eans la completa por ustedes- para finalizar este paso le damos clicB al botn Q,iguienteXQ- como mostramos en la imagenA

/onografias.com Nombre y localizacin del proyecto El siguiente paso corresponde a QO.F ,erver and ,ettingsQ donde elegimos el ,ervidor que utilizaremos para nuestro proyecto- nosotros ya le 3emos dic3o que el que se tiene que utilizar es Q$lassNis3 .omain vOUNet0eans lo seleccionara solo si es que no 3as instalado otro server en tu Net0eans- luego presionasQ,iguienteXQ-te tiene que quedar como en la imagenA /onografias.com ,erver and ,ettings El <ltimo y siguiente paso es QP.F Nrame)orBsQ Net0eans les mostrara una lista de los Nrame)orBs que tiene disponibles nosotros seleccionamos Q*ava,erver NacesQ seleccionada esa opcin se les activara la pesta1a de configurar *ava,erver Naces- seleccionen la opcin Quse default library )3ic3 comes )it3 ,erver (*,N ?.:)Q Es la que Net0eans muestra por defecto- luego 3acen clicB en el botn Q5erminarQ y el proceso de creacin del proyecto termina- como se muestra en la imagenA

/onografias.com Nrame)orBF *ava,erver Naces &rograma Z ,i 3icieron los pasos que les se1alamos tendr an que tener un resultado como la imagenA /onografias.com 2esultado de creacin 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 continuacinA ,e acuerdan de las librer as de 2ic3Naces que enumeramos en la parte de arriba- bueno a3ora las utilizaremos- para que recuerden las librer as las enumeramos a continuacin recuerden que tienen que tener 59.%,A ric3facesFapiFO.O.O.Ninal ric3facesFimplFjsf?FO.O.O.Ninal ric3facesFuiFO.O.O.Ninal commonsFbeanutilsF;.K.:.jar commonsFcollectionsFO.?.jar commonsFdigesterF;.7.jar commonsFloggingF;.:.P.jar j3ig3lig3tF;.:.jar %3ora vamos a la carpeta donde se aloja nuestro proyecto en m caso es la siguienteA #Ad"sersd$erardod.ocumentsdNet0eans&rojectsdaprendiendo*avaEE2ic3Naces. 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- como se muestra en la imagenA /onografias.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- vamos de nuevo al Net0eans Y.7- 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- como se ve en la imagenA /onografias.com %gregar %rc3ivo *%2 % continuacin 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- con esto reci(n estaremos adjuntando las librer as que el proyecto necesita para usar 2ic3Naces. &rograma ;: "na vez creado la carpeta lib en nuestro proyecto y copiado todas las librer as solicitadas por 2ic3Naces en su interior- vamos de nuevo al Net0eans Y.7- 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- como se ve en la imagenA /onografias.com %gregar %rc3ivo *%2 % continuacin 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- con esto reci(n estaremos adjuntando las librer as que el proyecto necesita para usar 2ic3NacesA /onografias.com #argar +ibrer as al proyecto %3ora su proyecto tiene que mostrar las librer as respectivas cargadas- como se puede ver en la imagenA /onografias.com +ibrer as 2ic3Naces cargadas %3ora que ya tenemos las librer as cargadas tenemos que cambiar la configuracin del proyecto para que este reconozca las librer as de 2ic3Naces- entonces vamos a Qconfiguration filesQ le 3acemos doble clicB al arc3ivoQ)eb.!mlQ- despu(s que se 3abr este arc3ivo le 3acemos clicB a Q9perador e/+Qcomo se muestra en la imagenA /onografias.com #onfiguracin )eb.e/+ ,e le abrir la ventana con cdigo e/+- ese cdigo tiene que ser reemplazado por completo por el que mostraremos a continuacin- recomendacin es borrar todo el cdigo que ten a el arc3ivo y copiarlo por completo por el siguienteA

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

.espu(s de 3aber copiado el cdigo tal cual- procedemos a compilar y a ejecutar nuestro proyecto para compilar el proyecto presionamos ` /ay<scula J N;;X la idea es que 3aga un #lean and 0uild despu(s para ejecutar el proyecto presionamos NY y el proyecto comenzara a ejecutarse- el resultado que tienen que tener se muestra a continuacinA /onografias.com 2esultado Ninal .e esta forma 3emos logrado solo implementar 2ic3Naces en *ava,erver Naces- este Nrame)orB posee un sin fin de componentes que 3acen mas amigable la interfaz de nuestros programas- en su pagina oficial 3ay un +ive .emo - que muestra los componentes con sus respectivos codigos- es muy interactiva y ayuda de muc3o el linB es este. Espero que les 3aga gustado el post e implementado 2ic3Naces- espero sus comentarios- se despide $erardo- %dios. "NI.%. O .efinir una variable local +o que diferencia a esta de las dems 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. /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- la imagen nos muestra las variables $lobales en el bloque numerado con ; y O. .ado que la parte en la cual fueron definidas es la clase y fuera de cualquier m(todo. +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. +as variables localesA son accesibles solo para el m(todo en el cual 3an sido definidas en este caso las encerradas en el bloque ?. .os variables de mbitos distintos pueden llamarse igual- esto no se aconseja dado que 3ace necesario ingresar un elemento que se denomina resolucin de ambigfedad t3is- con fines prcticos evitaremos que esto suceda. +as variables de bloqueA son las que se definen dentro de los bloques como el si (l mientras y otros que ms adelante trabajaremos en el curso. +as formas de conversin de te!tos a num(ricos son las siguientesA Integer.parseInt(te!to)E ''convierte el te!to dado a entero+ong.parse+ong(te!to)E''convierte el te!to dado a un entero.ouble.parse.ouble(te!to)E''convierte el te!to dado a decimal I. 9peradores aritm(ticos de java.%signacin ^ ,uma J 2esta F

/ultiplicacin > .ivisin /odulo ' R

&otenciacin /at3.po)(base-e!ponente) 2aiz cuadrada /at3.sqrt(radicando) Incremento de uno JJ .ecremento de uno FFF Y. 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%.I9 0"559N &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 +e das un nombre al jframe /onografias.com +uego te vas a contenedores s)ing y jalas el radio button /onografias.com +e das clicB derec3o al radio button seleccionas actipon performed y generas tu cdigo /onografias.com

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

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

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

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

"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 opcin de men<- son los llamados */enuItem). /onografias.com +isto lla tenemos nustro peque1o separador en netbeans "NI.%. P Gilos P.;. #oncepto de 3ilo. P.?. #omparacin de un programa de flujo <nico contra uno de flujo m<ltiple P.O. #reacin y control de 3ilos P.P. ,incronizacin de 3ilos #9/9 $ENE2%2 "N &29VE#59 .E GI+9, 2%&I.%/EN5E &rimero creas un proyecto y le das nombre /onografias.com &ara 3acer un cdigo en 3ilos tienes que gregarle e!tends 53read despu(s de tu primer public class /onografias.com &29$2%/% .E GI+9, EN *%8% /onografias.com &rograma de 3ilos de cmo se van 3aciendo los nombres de cada 3ilo /onografias.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 ,erverA que el servidor es $lassNis3 8? y seguidamente 3acemos clic soble el botn /onografias.com /onografias.com

En el apartado Nrame)orBs indicamos lo siguiente /onografias.comI#Efaces lo seleccionamos /onografias.com &ara terminar de crear el proyecto 3acemos clic sobre el botn /onografias.com

P.?. #omparacin de un programa de flujo <nico contra uno de flujo m<ltiple P.O. #reacin y control de 3ilP.P. ,incronizacin de 3ilos "na ventana splas3 es una ventana de presentacin E sin los botones clsicos y que va a servir para darle una mejor presentacin a nuestro proyecto. Esta ventana se debe colocar al principio de nuestra aplicacinE para empezar debemos dise1ar la que ser nuestra imagen de presentacin 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 - el cual lo desmarcamos para que no cree la clase main A /onografias.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.com /onografias.com %3ora creamos un paquete ,plas3 en el cual vamos a agregar un *Nrame y tambi(n creamos una clase para el 3ilo que vamos a usar - por lo que les debe quedar as A /onografias.com 8amos a trabajar en nuestro Nrame- al cual le 3acemos clic derec3o U ,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). .espu(s de 3aber agregado los paneles a cada uno le vamos a dar 0order+ayout al igual que al frame. 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 continuacin nos saldr la siguiente ventana en la cual debemos colocar el nombre de

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

%3ora vamos a crear nuestro m(todo constructor el cual va a tener como parmetros una barra de progreso; - se debe observar como se da la relacin de asociacin E es decir la referencia del objeto que pas por parmetro 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;) C super()E t3is.progreso^progreso;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^;Ei`^;::EiJJ) C progreso.set8alue(i)E pausa(;::)E D D V por <ltimo creamos nuestro m(todo pausa - que como el nombre indica nos va a dar una pausa para que la barra de progreso no llegue al ;::R n bien corramos la aplicacin A public void pausa(int ml,eg) C try C '' pausa para el splas3 53read.sleep(ml,eg)E Dcatc3(E!ception e)CD D Gec3o esto presionamos NY y veremos algo como esto A

/onografias.com &ara crear la calculadora de la imgen anterior debemos tener en cuenta la interfaz y los eventos. +o ideal es mantener el cdigo que permite los clculos en una clase separada- pero aqui todo se realizar en una <nica clase.&ara comenzar a trabajar con componentes grficos y eventos debemos agregar al inicio del arc3ivo de la clase las siguientes inclusionesA ; import java.a)t.>E ? import java.a)t.event.>E O import java!.s)ing.>E #on esto importamos todas las clases a)t- events y s)ing.Estructura del programa Nuestra clase se llamar /ain y nuestro arc3ivo main.class. Este es su esqueletoA :; public class /ain e!tends *Nrame implements %ction+istener C

:?

:O private *5e!tNield tE :P private int a ^ :- b ^ :E :I private int eq ^ :E :Y private c3ar op ^ :E :K

:7 public /ain() C :Z ... ;: D ;;

;? public static void main(,tring\] args) C ;O ne) /ain()E

;P D ;I

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

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

cp.add(p- 0order+ayout.#EN5E2)E &rimero asignamos el t tulo de la ventana y creamos un vector con los caracteres de los botones. ,i lo notaron tiene un orden algo e!tra1o- esto se debe al algoritmo que se usa luego para crear los controles recorriendo el vector.&osteriormente creamos un *&anel y le asignamos un layout tipo grid de P columnas- 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- t3is- 3ace referencia a esta misma instancia de la clase /ain).%l salir del ciclo ya tenemos todos los botones- pero nos falta un poco para terminar el dise1o. #reamos un cuadro de te!to y le fijamos alineacin de te!to a la derec3a (ser donde se muestren los resultados entre otras cosas). Inicialmente le asignamos un te!to igual a Q:Q.%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. #apturando los eventos Nuestra interfaz nos qued muy bonita- pero no 3ace nada. .ebemos darle funcionalidad y esto lo 3acemos en el evento que captura los clicB del usuario sobre los diferentes botones de la interfaz. :; public void action&erformed(%ctionEvent e) C :? c3ar c ^ ((*0utton) e.get,ource()).get5e!t().c3ar%t(:)E :O if (c X^ b:b LL c `^ bZb) C :P .... Implementacin :I ''+og :Y ,ystem.out.print(a)E :K ,ystem.out.print(Q Q)E :7

,ystem.out.print(b)E "NI.%. I .ispositivos mviles /onografias.com /onografias.com /onografias.com /onografias.com /onografias.com /onografias.com /onografias.com %3ora basta con pulsar sobre el botn Edit- lo que dar lugar a la aparicin de la ventana de edicinA /onografias.com ,obre esta ventana- en el recuadro Icon escribiremos 'icons'icono&eq.png- tal y como se aprecia a continuacinA /onografias.com %l finalizar se pulsa sobre el botn %ceptar de la ventana de edicin. #on esto queda registrado el cambio de la propiedad correspondiente al icono del /I.letA /onografias.com V pulsando sobre el botn 9= desaparece la ventana de propiedades. Esto es todo lo necesario para poder generar y ejecutar el /I.let. En primer lugar- procedemos a generar las clases a partir del cdigo fuente. &ara ello se pulsa el botn 0uild. ,i todo 3a ido bien- aparecer un mensaje indicado que la generacin se realiz de forma correcta. En caso de 3aber errores- se mostrarn en la ventana principal de =5oolbar.

En cuanto se 3a generado el /I.let- podemos ejecutar mediante el botn 2un. %l pulsarlo- aparecer el emulador con el /I.let listo para ejecucin.

Das könnte Ihnen auch gefallen