Curso Java Swing

swing es la librería de jada que nos permite crear elementos de interfaz de usuario nos permite crear ventanas compatibles con cualquier sistema operativo y nos permite crear una interfaz gráfica para nuestros programas no es que todos los programas tengan porqué tener una interfaz gráfica pero la mayoría de ellos sí que la suelen tener y de hecho la interfaz es prácticamente imprescindible en aquellos tipos de programas con los que tiene que interactuar el usuario directamente por lo tanto vamos a hacer un nuevo proyecto on fire new project el proyecto dejaba una jaba application y lo que voy a hacer es que el nombre del proyecto le voy a decir que el número del proyecto es sui por tanto tengo un proyecto swing por la clase principal automáticamente va a ser su punto su hijo por ejemplo puede ser aprendo mejor y por tanto ahora nuestra clase principal es aprender swing punto aprenda su hijo vamos por tanto ahora a pulsar finalizar tras lo cual el proyecto se crea aparece como proyecto actual y puedo empezar a escribir aquí tengo lo podemos ver aprende su punto java llama al package al paquete aprender a subir tiene una clase pública llamada aprende suizo lo primero que vamos a hacer antes de definir la clase pública es decir que tenemos que importar hasta ahora hemos importado cosas como por ejemplo el scanner cuando hemos querido pedirle cosas al usuario a usuario introdujera elementos a través de comandos cuando importó elementos de swing lo que tengo que hacer es poner jamás x punto swing esta lista voy a elegir swing y a partir de aquí puedo elegir aquellos elementos que quieren usar de la librería suya por ejemplo por la j tengo casi todos los elementos visuales que pueden usar puede usar listas etiquetas menús todo aquello que necesite sin embargo como lo que quiero hacer es importar todos los elementos lo que voy a hacer es poner un asterisco poniendo en asterisco lo que estoy haciendo es indicar que quiere importar todos los módulos que tienen la librerías tengo por supuesto de momento un error consiste en que esperaba un punto y coma punto y coma y desaparece por un tiempo el error evidentemente lo que tengo ahora es de advertencia le dice que he importado la librería suite pero no lo estoy usando últimos importa no pasa nada porque ahora evidentemente lo que haré es usarla a continuación vamos a trabajar en la clase pública aprendo swing y lo que le vamos a decir en esta clase es que extensas notas frames vamos a hacer un primer ejemplo en el que vamos a crear un marco vamos a tener una ventana en la que poco a poco más adelante iremos introduciendo más elementos por tanto de esta manera poniendo extreme extender j frame la clase swing como ya hemos visto previamente en las lecciones de herencia hereda todos los métodos que tiene la clase j frame que está incluida dentro de la x punto swing punto j frame por tanto dentro de esta clase vamos a indicar lo siguiente voy a crear tener una variable privada que se va a llamar vamos a llamar etiqueta uno hablar el uno y lo más importante este tipo j por tanto private 4 la real que era el nombre de la etiqueta que en este caso llamar la del 1 ya tengo una variable voy por tanto ahora a por un método y por tanto voy a entregar public y voy a crear ahora todo lo que se me ha previno aprendo si vamos a poner con nuestros productos y por tanto dentro de dentro de este método dentro de esta función vamos a hacer lo siguiente el primero se playa cuando le voy a decir que el layout por defecto es muy fácil creó un layout vacío ahora les digo que aquella variable que habíamos inicial izado previamente la del 1 es igual a una nueva instancia un objeto jota label evidentemente está dentro de jota frame no aporta jota frame y vamos a hacer hola mundo y ahora de la del 1 vamos a poner propiedades donde dentro de esta lista vamos a elegir una propiedad llamada sepamos ser bausch lo que hace mediante por ejemplo esta este método es elegir cada una de las cuatro regiones la anchura anchura sobre la anchura vamos a poner 10 20 como a 200 como 30 tras lo cual seguimos ya vimos adán la del 1 es decir añadimos una ventana de momento tenemos en nuestro constructor vamos a ver tenemos aquí algo y nada así que vamos a ejecutar y de momento todavía no tenemos nada hemos creado un constructor pero evidentemente ahora en nuestra clase principal tendremos que hacer algo para tomar todo este código y construir con él realmente una ventana ahora dentro de el método principal dentro de public start y hoy me voy a escribir el siguiente código para empezar creó una nueva instancia del tipo de datos aprendo swing se va a llamar ejemplo 1 una nueva instancia de aprender este método que hemos creado allá arriba ahora que ya tengo ejemplo 1 voy a decir que ejemplo 1 punto sepamos esto es elegimos los márgenes si ponemos 10 10,400 como 300 una ventana prácticamente de 400 x 300 ya le decimos que esto 1.100 ti simon vamos a buscar una lista ser físico donde evidentemente por defecto vamos a decirle que sea verdadero que sea cierto lo que tenemos hasta ahora es que hemos creado una ventana creando una nueva instancia del método aprendo swing escogemos sús cogemos su tamaño y le decimos que sea visible hacer esto podemos guardar el proyecto podemos ejecutar y en la ventana como podemos ver tendremos el resultado de nuestro primer ejemplo que es nuestro programa saltando en una ventana independiente llamado hola mundo debemos tener en cuenta que muchas veces cuando estamos desarrollando aunque yo cierre esta ventana nuestro programa se queda ejecutándose lo vemos aquí abajo poniendo switch está todavía rom y durante el desarrollo de estos ejercicios evidentemente voy a darle al play voy a comprobar los proyectos muchas veces por tanto lo que hago de esta manera es que tendré todavía un programa funcionando así que aunque haya cerrado la ventana tengo que asegurarme que haciendo clic aquí está x está seguro que quieres cancelación de swing yes me aseguro de que el proceso ha finalizado y que al finalizar mi sesión de trabajo no se me quedan los 10 o 20 procesos ejecutándose por detrás hasta ahora tenemos por tanto vamos a ejecutar nuestro programa una ventana de 400 x 300 que además el usuario puede redimensionar vamos a complementar nuestro programa el programa que acabamos de crear con un par de parámetros más si por ejemplo yo quiero que la interfaz sea más grande voy a poner por ejemplo 640 x 480 únicamente tendría que cambiar los parámetros de esa ventana le voy a poner que empiecen cero este a karen 0 para la primera pareja de vectores será el pulso play comprueba por tanto como tengo un programa cuya ventana empieza antes empieza a hacer de 0 0 y sobre todo lo más importante son los dos últimos valores que son la anchura final y la altura al final de la ventana comprobad ahora como tengo una nueva ventana en este caso de 640 x 480 esta ventana se puede redimen sar se puede maximizar se puede restaurar este comportamiento es común en casi todos los sistemas operativos y se puede también redimensionar manualmente si lo que queremos es que nuestros usuarios no puedan redimensionar las ventanas de nuestros programas lo que tenemos que hacer recordamos para el proceso lo que tenemos que hacer es igual que hemos llamado una propiedad llamada set visible llamamos a otra propiedad llamada set 3-6 árbol es decir hacer que la ventana sea o no redimensionables por lo que ahora vamos a para lo siguiente vamos a poner ejemplo 1 punto y en las funciones vamos a elegir en dos metros vamos a elegir set risa y sabor el servicio que no tenemos y juliano por defecto estando pero voy a poner foros voy a poner que sea pausa y comprobaremos de esta ventana como ahora comprobaremos la manera como la ventana vamos a ver qué nos falta nos falta un punto y coma por supuesto tenemos 480 que como podemos comprobar no se puede maximizar si no se puede maximizar evidentemente tampoco se puede restaurar ese intento hacer clic creo que no tengo la oportunidad no se me está dejando el en una esquina del programa y redimensionar a continuación vamos a profundizar más en el funcionamiento de j label j label como hemos podido ver es otro de los componentes de swing que nos ayuda a poner texto en nuestros programas nos ayuda a poner carteles estáticos como en este caso nos ha ayudado a poner el cartel hola mundo vamos a hacer más ejemplos vamos a poner más ejemplos donde en este caso lo que haremos es añadir más carteles en este caso el label 1 ha sido igual a una nueva instancia de jd abel con el parámetro o la voy a cambiar en este caso mi programa en lugar de hola mundo voy a poner mi programa tengo por tanto las tres partes que me hacen falta una nueva instancia en la propiedad set bones para saber dónde va ese cartel y el añadido a continuación puedo crear más y más propiedades más textos pero repitiendo siempre el mismo esquema en este caso voy a crear una nueva variable privada llamada clave 2 podría copiar esta línea aquí abajo con el aquí la de dos tenían estar un error que me decía que la variable estaba duplicada o bien para hacerlo más sencillo lo que haré es la del 1,2 tengo ahora dos variables por lo que el 2 es igual a la nueva instancia de un hotal amén con el texto sea por ejemplo versión 1.0 le digo los parámetros laver 1.6 [Aplausos] y voy a hacer lo siguiente de copiar todo esto de eso vamos a ver qué problema tenemos ahora ejecutó el programa lo que comprobaré es que tengo por aquí en mi programa y tengo por aquí me falta vamos a ver lamentos aun ahora sí klein tenía otro proceso corriendo el problema que tengo ahora mismo es que los dos textos están superpuestos bien este problema es perfectamente normal vamos a parar todos los procesos que tenemos en marcha el problema es que le hemos dicho a los 24 de diálogo que estén en el mismo sitio en el mismo espacio están los dos 10 20 200 300 de una ventana un poco más pequeña una ventana de 300 x 200 el resultado le damos a play y aquí tenemos el programa veremos lo siguiente el primer valor tenemos 10 píxeles es la distancia en x es decir horizontal del punto de inserción del texto con respecto a esta esquina por entonces entonces si tenemos 10 píxeles quiere decir que desde aquí hasta aquí hay 10 píxeles el segundo valor es la distancia y de ese mismo texto en y en vertical respecto de esa esquina por tanto desde este punto hasta este punto hay 20 píxeles a continuación tenemos la anchura este es la anchura de ese texto y la altura el problema en este caso evidentemente es que al haber copiado el pound 1020 200 y 30 tenemos el segundo texto insertado encima del primero si yo quiero que este texto esté a la misma altura alineado a la izquierda pero que esté un poco más abajo lo que debes poner aquí por ejemplo 50 para el proceso vuelvo a ejecutar y comprobaré ahora como tengo la misma distancia x pero tengo ahora en lugar de 20 píxeles desde aquí hasta aquí tengo 50 píxeles desde aquí hasta aquí así que jugando con estos valores lo que podemos hacer por ejemplo voy a poner 50 50 es ir eliminando el texto hasta conseguir que esté centrado en la pantalla voy a pagar los dos procesos que tengo ejecutándose si tengo 300 longitud como 100 congo 100 le digo que 50 en este 80 y lo que hago por tanto es redistribuye vamos a darle apoyo otra vez redistribuir los textos en la pantalla puedo comprobar como estos parámetros me han permitido colocar le han permitido ubicar los textos correctamente en la pantalla voy a hacer otro programa usando swing donde en este caso mi programa incluirá un botón que además tendrá un comportamiento el botón será capaz de cerrar nuestro programa por tanto voy a complementar este programa si ya tenía importado la librería java x dentro de sí tenía todo voy a importar la librería de java punto wt punto eventos y de aquí voy a importarlo todo lo tanto importó el viajaba w en este momento no usado a la clase pública aprendo swing que éste envía jota frame y lo sigue extendiendo porque necesito tener un programa incluido en un frente una ventana en un marco le voy a decir que además implementa acción de esto por lo cual de momento tenemos aquí no pasa nada porque este error lo vamos a solucionar en la siguiente parte lo que no habrá es decir que no tiene una variable privada sino que quiero una variable del tipo j label llamada botón 1 no pasa nada por estos errores evidentemente están traducidos por lo que ahora serán bien creado constructor público haciendo swing sin parámetros con el siguiente código supply out el momento es nulo donde el montón uno es igual a una nueva instancia de j button cuyo caso cuyo valor es solo motor 1.6 vamos es decir los límites del botón que va a tener 300 250 como haciendo 30 y añado el botón 1 pero le digo que no [Música] junto a canciones a veces es decir lo que quiero hacer es añadir un nuevo escuchado qué es lo que haga es estar esperando a que yo pulse alguna vez ese botón vamos a ver que tenemos por aquí de momento tipos incompatibles no pasos borraron a este código hacer otra otra solución este es un método público de acción y aquí creó una estructura de control que digo 7 intensos es igual a botón 1 es decir si se pulsa el botón 1 en este caso lo que pasará es que existe un punto exit y en este caso sobre existe un punto éxito en cero tengo ya por tanto vamos a ver la continuación tengo ya por tanto un primer comportamiento en el que una perla hay outs en el que creo un botón es de unas propiedades y una función en el que digo que cuando pulse el botón lo que tiene que hacer es salir por lotes por último simplemente metiendo hablando si es así creó un nuevo método del tipo de frenos y con el nombre sabiendo igual la nueva instancia el constructor aprende síntomas saliendo entonces vaughn es lo que voy a hacer para el 0 0 320 por 240 y saliendo punto séptimo el producto más hecho vamos a ver lo que tenemos hasta ahora no sabe si tenemos algún error y cómo corregirlo y esto vamos a ver ir guardando y pulsando play me dice que hay algún error y lo que me dice en este caso es que se requiere jota label y se ha encontrado el jota potón vamos a ver a continuación cómo limpiar estos errores para poder acceder que nuestro programa funcione correctamente en este caso a menos que el error consiste en que el botón doble punto y coma el botón es botón uno de tipo j label sin embargo el botón 1 no puede ser el tipo j label porque luego lo que estamos haciendo es añadirle una nueva instancia de j button y no podemos añadir un j button algo que este tipo jota a la vez por tanto lo que voy a hacer aquí es poner el j button desaparece ese error siguen estando un par de advertencias pero de momento ya puedo darle a play y tengo aquí vamos a ver aquí en este caso una ventana cuyo botón se ha quedado fuera porque seguramente a la de 320 240 y tengo un botón demasiado largo por tanto por el botón en 5 100 no los hace rara este proceso klein que tengo ahora si el botón sale y si todo va bien cuando pulsó el botón de salir el programa automáticamente se encierra que está pasando aquí bueno pues lo que tenemos en este caso son dos parámetros importantes que aprender uno es la posición del botón en la ventana y otro es el tamaño de la ventana 0 0 quiere decir que la ventana empieza en 0 0 y tiene 320 x 240 de alto y de ancho de ancho tener un mejor dicho y de alto y en este caso tengo un botón en el que voy a hacer lo siguiente si tengo un botón que tiene 00 cuando pulso play el botón estará situado arriba a la izquierda y además tendré un botón que tendrá 100 píxeles de ancho por 30 píxeles de alto podría en este caso hacer un botón que tuviera por ejemplo 50 píxeles de ancho por 50 píxeles de alto ejecute el programa ya que tengo mi moto en este caso como el texto salir es demasiado grande para el botón aparecen esos tres puntos de elipsis si por ejemplo pongo por cien observan como gracia para cerrar correctamente salen y evidentemente también estos dos parámetros nos sirven para situar el botón con respecto a esa esquina superior izquierda será pongo 50 x 50 observaré como el botón está a 50 píxeles en x x 50 píxeles en y como margen respecto a la esquina superior izquierda j textil de es un elemento dentro del swing que nos permite que el usuario introduzca información ya hemos creado interactividad con un botón vamos a vamos a incrementar vamos a aumentar esa interactividad añadiendo un campo de texto en el que el usuario pueda introducir su propio texto digamos que si él si el film equivale prácticamente el jota label equivale prácticamente a un sistema 3 lines el textil de equivale a un scanner por tanto vamos a vamos a vaciar esto vamos a vaciar este programa vamos a quitar estos métodos que hemos escrito y vamos a escribir un programa de este cero en este caso voy a pedir algo de información al usuario por eso sigo importando swing sigue importando eventos pero lo que voy a hacer es que la clase pública aprendo subir sigue extendiendo aj frame y sigue implementando son lissner voy a crear tres variables privadas voy a hacer una variable privada de tipo j textil con el nombre [Aplausos] una segunda variable privada desde el pj lo ven la clave el puro una tercera variable privada llamada j button 1 tengo por tanto mis tres variables que son una un campo que recoge el texto 2 una etiqueta y 3 así que ahora voy a crear un constructor por año en público aprender sin parámetros con los siguientes parámetros con los siguientes con las siguientes órdenes con el siguiente código tener un set layout es muy y ahora empiezo la b1 la nueva instancia total abel evidentemente y tiene la cadena usuario a pedir que introduzca un usuario así que ahora la de alguno el momento recordemos que estamos hablando de etiquetas de textos estáticos en pantalla su fauna y decir que es de 50 a 20 añado el la del culo ahora que ya tengo un texto estático voy a añadir un campo para que el usuario introduzca su propio código 1 es igual a una nueva instancia de j text los tiempos y uno puntos y manos 30 2010 150 añadimos 3 no sé cuando el punto y coma y tengo por tanto una etiqueta que tengo por tanto un campo de texto vamos ahora a poner un botón 1 con el caso con el texto afectada o entrar o lo que sea motor 1.6 vamos en el 3 y por último el sistema se repite en cada uno de las tres partes y ahora recordemos que tenemos un botón por tanto botón 1 punto action lissner pero es hacer que el botón se quede esperando tengo por tanto un botón así que voy a especificar qué de cadena o qué código debe ejecutar cuando pulsó el botón por eso creó un nuevo método public action perform [Aplausos] por el paso [Aplausos] y ahora vivo del fondo de todos es igual 1 en este caso no queréis poner el código que recoge el código del textil y lo pongo dentro de el título de la ventana una nueva variable llamada título es igual de tipo sting es igual al texting 1.10 tex tex veces recoger el texto que introducido en esa en ese input y meterlo dentro de los corchetes partes con el título y el título es de nuevo aquí estoy poniendo esta misma variable tengo ya por tanto el código preparado tengo ya mi constructor donde he creado un rótulo he creado un field un campo he creado un botón y le he dicho al botón que debe ocurrir cuando se ha pulsado por tanto ahora en la clase principal escribiré el código que lanzará realmente el programa y el código que lanza el programa realmente es sencillo simplemente voy a crear una enorme distancia de un objeto del tipo aprendió así [Aplausos] con un hombre fórmula bleu y esto no he estado quiere aprender entonces ahora formulario punto para traer 00 con más 300 250 va a ser una larga la ventana sea visible ya tengo el código en principio no tengo tres graves seguramente alguna advertencia y ahora voy a guardar voy a ejecutar el programa y tengo por aquí por tanto por una parte 1 j label usuario por otra parte un j texto como podemos ver me permite introducir texto y lo más importante permite mis usuarios introducir texto y un botón aceptar que me permite en este caso ejecutar el código de tomar el texto obtenido por aquí y hacer que el título de la ventana sea del texto porque por tanto si le pongo un usuario pues evidente impulso aceptar ahora el título de la ventana serán jose vicente que es lo que hemos hecho recordemos que cuando pulsó el botón es decir este código primero tomó el valor get text del textil y segundo pongo el título como título de la ventana si pongo diferente y pulso aceptar aquí por vicente sección al pinchar o aceptar lo que hacemos es leer este código y colocarlo como título de la ventana vamos a modificar un poco el programa y en este caso quiero conseguir que en lugar de tener un campo de texto tenga dos y lo que haga es poder poner números y sumar el valor de los números y meterlos dentro de la la barra de título por tanto voy a eliminar este label ya que de momento no lo necesito necesitaré estos dos textiles por tanto eliminar este label que no voy a usar pero eso sí voy a crear dos variables de tipo texto 2 por lo que ahora voy a copiar este código voy a pegarlo aquí abajo voy a modificarlo en el textil 2 y voy a decir que el primero estaba en 1010 y en 30 el segundo texto estaba abierto 50 estaba en la misma el chispero más bajo en y realmente entraba bien con más 30 y por supuesto el botón en lugar de poner aceptar podrá sumar estarán 10,90 primera 100 30 vamos a ver si ya puedo ejecutar este código ya tengo aquí mi estos campos me pone 4 y 5 lo que hace al pulsar su mano de momento evidentemente es poner 4 porque lo que hace es tomar el valor del primer campo y subirlo directamente arriba al título de la ventana demás aquí abajo voy a cambiar el tamaño de la ventana voy a hacer que tenga por ejemplo 150 como 200 ahora este programa pero ya play otra vez tengo ya ahora mi pequeña niña y calculadora tengo 568 suma pero vemos cómo siguen sumando 5 por eso lo que quiero ahora es poder tomar los elementos de los textiles sumarlos y meterlos dentro de una variable que se muestre en el título por eso lo voy a hacer es modificar esto en este caso vamos a ver voy a crear una variable de tipo cadena llamada comando 1 sumando 1 es igual a el contenido en texto del texto 1 ahora sumando 2 es igual a el contenido en texto de 100 text 2 así que de momento vamos allá lo que hacemos ahora es convertir el string ya que lo que hemos hecho es tomar una cadena y queremos convertirlo en un entero porque si no la calculadora funcionará mal sumando cadenas de caracteres alfanuméricos y para eso cree una nueva variable del tipo entero que es igual a x1 y desdibujó que es igual a íntegra y punto parce y le digo que cojo el sumando 1 o el sumando 2 es decir lo que hago con esto es tomar la cadena de sumando y sumando 2 y convertirlas a números enteros es convierto en variables x1 y x2 que son de tipo entero por tanto poder sumar mucho mejor el tribuno de variables de tipo entero la suma es igual a x uno más 2 por lo que por último no te metes al igual string junto al dibujo la suma por último el twitter es decir conozco el navarro el texto llamado total total es la suma de todos los valores por lo que si ahora ejecutó este código voy a ejecutar y compruebo cómo se la pongo es 7 por su suma lo que tengo arriba es 13 es decir este trozo de código lo que hace es cuando pues el botón de suma se dedica a recoger los datos de los dos de los dos foto textil los convierte en enteros los suma y los devuelve en la barra superior de la aplicación vamos a complicar un poco más el programa pero así de paso vamos integrando estructuras de control dentro de nuestro código en este caso lo que voy a hacer voy a quitar todo este código lo que quiero hacer es una especie de bloqueador del programa encima para confirmar si un usuario y una contraseña son correctos para acceder a un programa por esto que voy a hacer conservo estos dos operando voy a poner usuario a la variable de tipo string usuario es igual a recoger el texto que hay en text lic 1 y la variable contraseña de tipo string es igual a recoger el texto que hay ente excluidos por lo que ahora por lo que ahora voy a hacer lo siguiente en este caso el usuario punto que cuál es el equivalente es decir es igual a ser diferente estruch los compresores sí con 20 adecuados hola es igual a true en este caso el sol o en este caso quiero poner un ser fácil desde centros en caso contrario el en caso de que sea negativo también a nosotros así que vamos a por ello voy a guardar a ejecutar y tenemos por aquí que si pongo 4 y 5 y pulso suma ponen nosotras porque mi 4 es igual a josé vicente mil 5 es igual a carratalá pero aquí pero si vuelvo a ejecutar el programa y pongo aquí jose vicente pero aquí pongo hola este es correcto pero este no es correcto y recordemos que debido al and deben ser correctos los dos pongo suma me dicen no entonces pero el equipo nunca catalán en ningún suma y me dice entras solo cuando aquí pone el nombre de usuario que hemos esperado y aquí pone la contraseña que hemos esperado al pulsar el botón en este caso sería llamando suma podríamos cambiarlo a blog y no entrada o registro como fuera solo cuando estos dos son correctos entonces pone aquí entras en este caso hemos hecho un hemos puesto de instrucción sentarte pero evidentemente podríamos poner el código que quisiéramos otro elemento bastante interesante del swing es el text área la diferencia de text a área con respecto a textil es que textil sirve para introducir una línea mientras que text área sirve para introducir un bloque bastante extenso de texto con retornos de carro y con multitud de líneas vamos a vamos a eliminar nuestros programas tenemos aquí el constructor y vamos a reiniciar los para poder escribir nuevos programas vamos aquí llegamos allá sigue importando swing en este caso todavía no voy a importar a level y les voy a decir que de momento solo implementó el frame solo extiendo el getafe y ahora lo que voy a hacer es crear muy variables privadas una la conocemos votar textil que se va a llamar campo [Música] j eso llevar cámbulos un método constructor y ahora creo al público sin parámetros y por ser la causa 1 y digo lo siguiente tenemos lo siguiente campo 1 es igual a una nueva instancia de cota text importante como las siguientes propias aves campo 1.6 bausch con las siguientes propiedades 1010 como 230 añado por último el campo yo lo que voy a hacer es introducir un segundo campo pero en este tipo de arte por tanto campo 2 es igual a la nueva instancia de j text sin parámetros campo 2 punto 6 de 10 50 400 x 300 un campo de texto grande vamos a ver qué nos dice este error se esperaba un punto y coma y por último como vivimos todos lo que por último simplemente tenemos que escribir el elemento del principal vamos a crear una nueva instancia el chico aprende llamada podríamos llamar el mensaje es igual a la nueva instancia de aprendo sueños pero decimos mensaje incluso bone 0,02 40 400 el mensaje punto servicio es igual a otro ya tenemos nuestro programa vamos a comprobar cómo funciona este texto área por eso guardamos pulsamos play y tenemos por tanto un campo de texto se ve poco porque el color cambia poco pero como podemos comprobar tenemos un campo textil que nos permite escribir por ejemplo una dirección de correo y tenemos un texto área que nos permite escribir un texto de varias líneas como si fuera un párrafo el problema del tex área es que cuando os pregunte esto demasiado largo podemos comprobar como despertar la mente desaparece por bajo y no lo puede recuperar así que hay una variación que me permite mediante un elemento llamado scroll paint me permite hacer que el text área sea en este caso sea redimensionables por lo que ahora voy a hacer lo siguiente voy a mantener el campo 2 pero voy a crear una nueva variable privada de tipo j werthein [Aplausos] es decir un campo de scroll llamada aquí una variable ahora sí tipo j spain y con el nombre scroll tras lo cual si ya tengo por tanto mi textil esto lo voy a modificar voy a hacer que campo 2 sea igual a un nuevo estadio de jota text área y me digo lo siguiente pero ahora qué 1 es igual a una nueva instancia que contiene al campo 2 es decir convierte en el texto área en un scroll bein pero le digo a uno el pan tiene 50 430 lo mismo y añado voy al campo 2 y mediado el scroll 1 o sea esto y ahora guarda y recargo comprobar como introduzco una línea de introducir correctamente pero a medida que voy a introduciendo comprobó como el texto ya no es un texto estático sino que sea como se ha convertido en un texto área con scroll lo que he hecho por tanto con ese scroll paint es asegurarme que cuando tenga más texto del que pueda abarcar el programa generará automáticamente este scroll ese scroll paint que nos permitirá navegar a través del texto a continuación vamos a hablar de los como box para eso vamos a vaciar el código creado anteriormente para crear un nuevo programa un combo es un tipo de elemento de formulario que nos permite seleccionar una opción entre múltiples selecciones dadas por tanto para empezar necesitamos importar toda la librería swing a continuación vamos a importar también la librería de eventos de java por tanto en java wp punto event.es importamos todo de la librería de event momento evidentemente todavía no hemos usado esta librería así que la clase pública y principal en este caso x aprietos extiende j frame ya que usar elementos de swing e implementar keaton no a jackson diste a jackson disney no ya un escrutador de acciones sino en este caso un escuchador de selección de ítems de una lista que vamos a crear por tanto aquí dentro vamos a empezar creando un hobbit una variable privada de tipo j con todos con un nombre común a continuación vamos a crear un método constructor creando un público aprendo swing sin parámetros y que tendrá que contemplar la siguiente corriente lyons louis vamos a especificar que como uno es igual a la nueva instancia le corta con bobos como 1.6 vamos especificar las dimensiones 1010 como 80/20 lo vemos como uno y lo queremos ahora es poblar las opciones nos va a ofrecer este como por tanto escribir como 1 punto a ítem y especificar qué elemento es el que voy a poner elegir colores para empezar te voy a poner rojo verde azul y amarillo a continuación lo que voy a hacer es añadir un escrutador poner como 1 punto lista antes voy a hacer que se escuche voy a hacer que permanezca a la escucha este elemento lo que haré a continuación es especificar qué pasará es decir especificar qué hará el programa cuando seleccione un elemento del cómodos [Aplausos] para ello crear una función pública un método parte 3 3 es decir cuando el ítem haya cambiado con m y usted nivel y dentro de esta elementos cuando hayas seleccionado un elemento del como box diré que sí donde se ha seleccionado tensos es exactamente igual a como uno es decir a este como de aquí en este caso ejecutaré el siguiente correcto crear una variable de tipo string llamada seleccionado igual a el string que tiene el como 112 selecta cita es decir aquello que haya seleccionado lo asigne a la variable de tipo string llamada seleccionado tras lo cual usaré un set de intel donde concrete la variable llamada seleccionado lo que tengo hasta ahora es por tanto como box que tiene todos estos elementos posibles y que está esperando a que se realice una acción cuando seleccionen uno de ellos una vez haya sido seleccionado es ejecutar este código que tengo allí que lo que hace es obtener el elemento seleccionado y ponerlo como título de la ventana por tanto ahora ya que tengo nuestros ingredientes ya puedo ir a lo siguiente voy a hacer seleccionaron todavía no de tipo sí del tipo aprendo swing llamo [Música] este objeto es ilustrador creando una nueva instancia que aprende sin parámetros a continuación te digo que seleccionado [Aplausos] juntos se found los puntos y 150 y le digo que él seleccionador punto sensible es así creó una nueva instancia creo el tamaño del elemento y le digo que sea visible de esta manera cuando ejecuto este programa lo que obtengo es lo siguiente tengo una ventana donde dispongo de un combo box que tiene justo las opciones que he indicado en esta parte del programa y si yo por ejemplo seleccionar verde aquí arriba en el set del ejecutado este código es el tight ends electorado en este caso verde si cojo azul aparece azul rojo amarillo aparece amarillo y evidentemente igual ocurre con el resto de opciones vamos a hacer un ejemplo un poco más complejo de combos donde crearemos tres combos para seleccionar el color aditivo de un botón por ejemplo así que para ello lo que vamos a hacer es empezar importando swing por supuesto importamos la librería de eventos de wt y también vamos a importar importaba punto algo doblete punto asterisco importamos todo dentro de aouate aunque de momento evidentemente no lo estamos ya que voy a hacer un ejemplo compuesto de varios elementos de swing real equipo j label la etiqueta 1 en el 1,2 como claro que las el tipo como box voy a crear como uno toma como dos comas como 3 yo voy a crear un botón por tanto realmente j equipo j button llamado botón por lo que ya tengo esto ya tengo mis variables preparadas para el programa y voy en este caso a empezar con el método un constructor set layout word se queda y lo que voy a hacer ahora es poner varios combos y varios labios así que empieza con un label [Aplausos] donde pongo el valor de rock&roll dos puntos es patrón la del 1.3 vamos especificó que quiero 10 10 30 así que añado el clave lo que tengo por tanto ahora como uno junto con vos con mayúscula y vivo como 112 serfaus y pongo 120 cuadernos 50,30 pero lo que necesito es añadir los valores para este slider para este desplegable todos los valores que haya entre 0 y 255 el problema está en que lo pensaría muy poco práctico añadir 250 líneas de código parte de poco práctico es que estaría un buen rato por tanto para eso voy a hacer como ya conocemos una estructura de control ahora le voy a decir que esté empezando siendo cero siempre que éste sea menor o igual que 255 y cada vez que pase por aquí es el sumo un valor cada vez ejecutó por 1 punto a tite este ítem va a ser un string para bimbo y va a hacer porque es esta variable que hemos definido punto y coma para finalizar y ahora después de este foro puedo poner un combo pues así necesito tres por tanto lo que voy a hacer es en lugar de escribirlo todo desde cero la derivación comentario 1 y así 2 y 3 vamos a ver este es uno esté es 2 por tanto voy cambiando la verdad a verme para el dos los dos iguales vamos a dar por cómodos y voy a cambiar las coordenadas voy a decir que para cómodos es 10,50 esto será también 50 vamos a por el 3 que tenemos nosotros vamos por el 3 rojo verde azul esto será 90 en el 3.3 y la gente se queda igual por tanto tenemos en ella las tres parejas de en este caso d 6 de la welsch y ve combos y por último por último lo que tenemos que hacer ahora es crear un botón por tanto aquí pero el problema y el problema es que el valor es demasiado grande porque esto es 90 por tanto 10,90 a verse era un botón así a esto donde uno pone el color entonces vamos y es 130 130 añado el botón 1 y a este método le digo que se quede a la espera de recibir una acción botón 1 y action lissner en vez te digo que dentro del mismo se quede experto por lo que ahora me hace falta voy a usar este mismo método le hace falta decir lo siguiente public void [Aplausos] dónde son es el es decir cuando haga clic en el botón lo que haré es ejecutar esta esta acción bien y en este caso lo que voy a hacer es lo siguiente sí en el punto d es igual agotan uno en ese caso si el botón que ha pulsado el botón 1 en ese caso ejecutó el siguiente código primero creó una variable llamada color uno tipo string es igual usted como 1 punto select en ti ten lo mismo para cada uno de los tres colores color 2 color 3 como 3 y ahora lo que voy a hacer es convertir [Aplausos] las estrellas a variables enteras por tanto integra punto marsé int y voy a hacer el color 1 es decir que estoy haciendo es que la variable rojo es igual a la conversión en entero de color 1 lo mismo para verme y para azul pero no azul de color 2 y con los 3 por lo que lo que voy a hacer ahora es que es una variable de tipo color donde color 1 es igual a una nueva instancia del color rojo verde como azul y ahora voy a hacer que el botón del fondo del botón con unos hermanos con 1 de esta manera lo que he hecho simplemente ahora voy a mantener esto 400 por 300 lo que hecho simplemente es hacer lo siguiente vamos a verlo vamos a ejecutar el programa vamos antes a solucionar el error que tenemos aquí para poder ejecutar nuestro programa y repasar qué hemos hecho en cada una de las partes grandes de continuar huevos que tenemos aquí un error el botón dice que a action lissner the bees sin embargo arriba hemos mantenido de la estación anterior eight item disney en lugar de axones por tanto vamos a tender esto por acción disney ya que el ítem de kirchner está bien parada cómodos pero en este caso necesitamos lanchón disney para para trabajar con botones ya que creemos una acción por tanto ahora tenemos una tenemos una advertencia vamos a ver en este caso este otro error background es incorrecto vamos a ver esta variable de tipo color intentar ejecutar el programa para que en este caso me digan que ha funcionado el rojo el verde y el azul vemos como el informe en este caso ha generado los valores que hay entre 0 y 255 y debe haber algún tipo de error con el resto de elementos ya que no funcionan y el label ni los desplegables de verde y azul o repasar el código para ver cuál puede ser el problema empezamos repasando el código por tanto y vamos a repasar en este caso la del 1 añadimos un label 110 y 120 días hasta aquí bien vamos a por la ven 2 el 2 añadimos label 2 está en este caso en 1050 añadimos un label 2 tenemos un cómodos vamos a hacer lo siguiente aquí hay un problema esto tiene que ir en cómodos añadimos como los tenemos para el 333 como 3 como 3 y como si por último tenemos el botón 1 así que de momento tenemos esto vamos a comprobar el código tenemos por tanto ya un desplegable con 255 otro desplegable con 255 y el azul con 255 así que si ponemos por aquí un valor aunque parece que hay un problema en la posición del tercer curvos y podemos poner el color de momento lo que tenemos en la acción del botón es otro error pero por lo menos ya funcionan los combos vamos a ver el tercer combo porque está fuera del sitio dónde d como vox como 90 en la belle 3 y 10,90 por tanto en el principio el label aquí está este debe ser 120 como 90 guardamos ejecutamos en orán pero el error tenemos ya por lo menos bien colocados los tres deslizadores donde mediante bucles de control foro hemos conseguido crear combos desde 0 hasta 255 ahora cuando hacemos clic sobre poner color debería cambiar el color de fondo sin embargo al hacer clic comprobamos cómo aparece un error aquí abajo por eso a continuación ya que hemos corregido los errores de los como box vamos a ver qué le pasa a ese botón que no funciona para eso recordamos paramos los procesos ya que si no al final tendremos muchos procesos a la vez ejecutándose en nuestro sistema sino colapsar pero por lo menos puede ralentizarse por último el error que tenemos en esta línea nos dice que al crear una variable de tipo color pero llamada color 1 esta variable ya existe si hacemos clic aquí nos dice que el color ya ha sido definido en una acción creada aquí ya teníamos la variable llamada color por tanto voy a llamar a esta variable de color final donde aquí abajo porque es también color final para ahora desaparecer el error y probar el código ahora sí que puedo darle a play de momento no da ningún error así que si pulsamos sobre poner color compruebo como 000 el color de fondo del botón se ha vuelto negro si pongo 250 y 500 pulso por el color y se vuelve evidentemente rojo si pongo 255 254 y 0 congregue creo que sería amarillo efectivamente sale amarillo a cero es decir puedo hacer varias pruebas y comprobar vamos a ver esto es esencial y comprobar cómo voy cambiando el color de fondo simplemente seleccionando los elementos de los tres como box convenientemente dentro del swing es muy común es muy normal hacer programas que tengan botones que tengan menús en la parte superior como digamos los típicos programas que encontramos windows linux y mac es decir los típicos botones de archivo de editar herramientas y ese tipo de menús que todos conocemos por tanto voy a crear una nueva aplicación [Música] voy a eliminar este trozo de código y voy a hacer lo siguiente en primer lugar empieza importante por supuesto swing importo los eventos e importó todo wp por tanto las primeras importaciones ya las tengo correctas la clase constructora aprende swing extiende j frame e implementa todo aquello que tiene axor disney por tanto de momento lo dejamos como en el ejemplo anterior y ahora voy a crear tres variables privadas a nivel j te llamaré primero es una variable privada nn tipo j mínima contra variables de tipo j menú 1 y otro mayor de 5 primado tres mayores en este caso llamada j [Música] 1 tomarte leídos tomar de 1.003 tengo por tanto ya tengo por tanto mis variables muy ahora apro – el constructor public aprendo sin parámetros y con el siguiente código del contenido las aves nación la luz y ahora empiezo a escribir los siguientes le digo que en el menú yo lo que voy a hacer es j – band como te estoy diciendo que mb es la barra de menú ya que ya tengo la barra de menú lo que voy a hacer j menos 100 parámetros lo que voy a hacer es poner un hito dentro de este menú por tanto tengo uno es igual al mismo también que se puede llamar con ciertas o archivo por lo que él me punto ha soñado al menos tener uno y ahora que ya tengo un menú archivo voy a añadir opciones dentro de ese archivo uno es igual a una nueva instancia de j kristen llamado por ejemplo 1 al sol lisner de es al menos 1 punto avan o no para lo mismo para cada uno de los tres elementos del velo por tanto bienvenidos todos y les digo que este por ejemplo es guardar en el 3 y este será por ejemplo y recientes que tengo el mercado constructor tras lo cual voy a hacer un lo que va a pasar cuando selecciona el menú por tanto público d qué para decirle lo siguiente ya que el contenedor es igual a bis punto con temple punto y coma y ahora creo tres estructuras de control que una la voy a copiar sí el sureste es igual a ba1 esto quiere decir que he seleccionado la opción 1 del menú entonces este punto se va tiene un error después igual a la de color 200 500 esto quiere decir que si selecciona la primera opción en este caso pondré el fondo de color rojo por tanto copio y pego y pegó selección la opción 2 con la opción 3 en lugar de rojo será verde o azul esto que nos dice ningún problema le voy a decir que doble igualdad ya que no estoy asignando sino que estoy comparando por último donde pongo [Música] que es de tipo a producir es igual una nueva instancia de aprendizaje [Aplausos] super menú punto sepan y es como 20 400 200 pero entonces vi simon [Aplausos] tenemos a hacer esto vamos a comprobar que no haya errores al principio aquí parece que hay una advertencia y me dice que no encuentra la j menú vamos a ejecutar y a continuación le iremos arreglando cada uno de los errores que tengamos en el programa de momento pulsamos play con el way y tenemos un error en este caso en la línea observamos a solucionarlo en este caso el error es tan sencillo como que la m de menú tiene mayúsculas tras lo cual desaparece el error ya podemos guardar ya podemos ejecutar el programa y comprobaremos por tanto como tenemos una ventana del programa dejada con swing donde tenemos un menú superior llamado archivo al que si pincho aparece abrir guardar y recientes y donde se seleccionó un elemento del menú seleccionar primero el fondo cambiar rojo selecciona el segundo cambia a verde y si selecciona el tercero cambia a azul por tanto comprobamos como hemos hecho correctamente un menú donde al pulsar en cada una de las opciones ocurre en este caso una acción que es un cambio de color sobre el fondo de la aplicación

Deja una respuesta

Tu dirección de correo electrónico no será publicada.