Cómo hacer interfaces gráficas en Java con Swing desde cero
4.2 (9 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
87 students enrolled
Wishlisted Wishlist

Please confirm that you want to add Cómo hacer interfaces gráficas en Java con Swing desde cero to your Wishlist.

Add to Wishlist

Cómo hacer interfaces gráficas en Java con Swing desde cero

Aprende a realizar todo tipo de programas con interfaces gráficas de usuario para cualquier ordenador en Java desde cero
4.2 (9 ratings)
Instead of using a simple lifetime average, Udemy calculates a course's star rating by considering a number of different factors such as the number of ratings, the age of ratings, and the likelihood of fraudulent ratings.
87 students enrolled
Current price: $10 Original price: $180 Discount: 94% off
5 hours left at this price!
30-Day Money-Back Guarantee
Includes:
  • 15 hours on-demand video
  • 1 Article
  • 74 Supplemental Resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
What Will I Learn?
  • Realizar todo tipo de programas que necesiten de interfaces gráficas de usuario
  • Controlar el acceso, la edición y la escritura de ficheros mediante interfaces
  • Realizar videojuegos que requieran de interacción completos
  • Insertar una inteligencia artificial básica en el caso de los videojuegos que lo requieran
  • Estos programas valen para cualquier tipo de ordenador
  • No es necesario tener Netbeans para ejecutar el programa, se enseñará a hacer que se pueda ejecutar desde cualquier ordenador sin necesidad de programas adicionales.
View Curriculum
Requirements
  • Tener conocimientos básicos de programación en Java y de programación orientada a objetos.
  • En el caso de no tener los conocimientos se recomienda hacer el curso de Fundamentos de programación en Java para tener la base
Description

En este curso aprenderás a realizar todo tipo de interfaces gráficas de usuario en Java.

¿Qué es una interfaz gráfica de usuario?

Una interfaz gráfica de usuario (User Graphical Interface en inglés) es el nombre que se le da a la forma actual que tenemos las personas de comunicarnos con el ordenador. 

Una persona (que en informática recibe el nombre de usuario) se comunica con el ordenador a través de un programa. Todo lo que vemos en el ordenador son interfaces gráficas de usuario.

¿Puedo tener en un programa más de una interfaz gráfica de usuario?

Sí, todo programa puede tener una o más de una interfaz gráfica. Un ejemplo es el navegador de internet. Vemos que hay una ventana que tiene los famosos botones de cerrar, maximizar y minimizar y puede tener muchas pestañas. A la vez podemos tener varias ventanas que contengan varias pestañas cada una, especialmente ahora que se lleva la multipantalla (un ordenador, al igual que los móviles, puede tener más de un escritorio). Pues cada ventana del navegador sabemos que es una ventana por esos botones mencionados anteriormente y cada una de ellas no es nada menos que una interfaz gráfica de usuario.

Como podemos ver un solo programa como es el navegador de internet puede tener una o más interfaces gráficas de usuario.

¿Para realizar el curso necesito algún ordenador o sistema operativo concreto?

No, este curso se puede realizar en cualquier ordenador con cualquier sistema operativo. Puede ser un Mac, un HP, un Lenovo, ... en el caso de los ordenadores. El sistema operativo puede ser iOS (Mac), Windows (XP, Vista, 7, 8, 10) y Linux.

¿Qué voy a aprender en este curso?

A realizar programas con una o más interfaces gráficas de usuario. Empezaremos desde cero explicando cada cosa que se introduzca como si fuera nueva y llevaremos las interfaces al máximo.

No sólo haremos interfaces, también aprenderemos a que sean bonitas, formas de optimizar el rendimiento, de realizar la interfaz de forma sencilla y con una estética según el tipo de programa que deseemos hacer. 

Para hacer esto usaremos algunos pocos conceptos de matemáticas como son las matrices que si no conocemos o no recordamos no pasa absolutamente nada porque también se explica en el curso.

¿Para qué me puede servir este curso?

Puede servir para realizar videojuegos para tu propia diversión, para publicarlos y ganar dinero con ellos, para llevar tu creatividad al límite, para hacer videojuegos a tu medida, para demostrar tu potencial y como no, para hacer el videojuego de tus sueños o lo que se te ocurra.

Pero no todo son los videojuegos, se pueden diseñar editores de texto, programas para gestionar la información y datos de una empresa, programas para tener el control sobre las tareas realizadas y no realizadas de los trabajadores de una empresa, un programa que sea una agenda, una calculadora.

Concretando un poco más, podemos hacer cualquier tipo de programa. Absolutamente todo lo que se nos ocurra.

Además, todo el código que programemos a lo largo del curso estará a completa disposición para descargarlo y también todos los recursos que necesitemos también están disponibles en la plataforma.

¿Qué necesito saber antes de hacer el curso?

Para hacer el curso lo que necesitas es tener conocimientos básicos de Java y de programación orientada a objetos en Java. 

No necesitas tener ningún conocimiento en interfaces o si los tienes este curso te va a servir para aprender mucho más ya que es muy amplio de contenido.

Si no quedas satisfecho con el curso recuerda que tienes 30 días para devolver el curso sin ningún compromiso. Siempre lo puedes probar y en el caso de que no sea lo que buscas o que ya lo conoces todo o que no te veas preparado para llevar a cabo el curso puedes pedir la devolución del dinero en el plazo de 30 días.

Who is the target audience?
  • Personas interesadas en realizar videojuegos que puedan ejecutarse en ordenador
  • Personas interesadas en realizar programas (para sí mismos o para empresas) relacionados con utilidades. Programas de gestión de datos, calculadoras, etc.
  • Es adecuado para aquellas personas que desean aprender programación en Android. Ya que Android se basa en el lenguaje Java y el mismo sistema de interfaces gráficas.
Students Who Viewed This Course Also Viewed
Curriculum For This Course
102 Lectures
14:54:54
+
Introducción y contenidos del curso
3 Lectures 16:53

Descripción sobre mí, el curso, el temario y las utilidades del mismo.

Preview 04:25

En esta clase comprobaremos si tenemos instalado Java en nuestro ordenador.

Preview 04:15

En esta clase descargaremos e instalaremos Netbeans.

Preview 08:13
+
Ventanas (JFrame)
5 Lectures 20:38

En esta clase aprenderemos a crear una ventana de forma rápida y sencilla. Es el mínimo que se necesita para la interacción entre las personas y el ordenador. 

Preview 04:30

En esta clase aprenderemos a establecer un título al programa de forma que sea visible a través de la ventana. También pondremos aprenderemos qué son los Listeners, para qué sirven y cómo se programan además de que al pulsar el botón cerrar de la ventana se cierre el programa, lo que es el Closing.

Preview 06:03

Ahora que ya comprendemos el concepto de Listener y sabemos cómo se comunica con el Closing lo programaremos de forma mucho más sencilla y rápida.

Window Closing sencillo
02:33

En esta clase aprenderemos a hacer que una ventana se pueda ajustar. Podremos hacerla grande, pequeña, que tenga un tamaño fijo, que sea variable, que tenga un tamaño mínimo y que tenga tamaño máximo.

Ajustes del tamaño de la ventana
04:58

En esta clase aprenderemos a modificar el color de fondo que viene por defecto de la ventana.

Color de la ventana
02:34

En este examen se llevarán a cabo unas preguntas para saber si has comprendido la lección sobre las ventanas.

Examen ventanas
5 questions
+
Paneles (JPanel)
6 Lectures 33:13

En esta clase aprenderemos a crear un JPanel y a colocarlo en la ventana.

Preview 06:07

En esta clase aprenderemos qué es un Layout y para qué nos puede servir.

Preview 04:10

En esta clase aprenderemos a colocar paneles usando el Layout llamado BorderLayout.

BorderLayout
07:53

En esta clase aprenderemos a usar el FlowLayout.

FlowLayout
01:59

En esta clase aprenderemos a usar el BoxLayout.  Aquí tienes una página con información sobre los layouts http://chuwiki.chuidiang.org/index.php?title=Uso_de_Layouts

BoxLayout
05:53

En esta clase aprenderemos a colocar los paneles eliminando el Layout de la ventana.

Eliminar el Layout
07:11

En este pequeño cuestionario veremos qué has aprendido sobre los JPanels y los Layouts.

Examen de paneles y layouts
4 questions
+
Etiquetas (JLabel)
8 Lectures 48:12

En esta clase aprenderemos a crear una etiqueta y a establecerle un texto.

Preview 07:41

En esta clase aprenderemos a modificar el color del texto de la etiqueta además del color del rectángulo donde se almacena el texto, lo que es el color de fondo.

Modificación de colores
04:06

En esta clase vamos a aprender a colocar el texto en la etiqueta. Es decir, lo que haremos será centrarlo dentro de la etiqueta, ponerlo a la derecha o ponerlo a la izquierda.

Ubicación del texto
03:02

En esta clase aprenderemos a cambiar todo sobre la fuente que viene por defecto. Modificar la tipografía, el tamaño y el estilo.

Modificar la fuente del texto
05:37

En esta clase aprenderemos a poner una fuente que nuestro programa en java o nuestro ordenador no tiene en su sistema. Una fuente que podemos crear o descargar y añadirla al programa.

Mi propia fuente
13:32

En esta clase aprenderemos a poner una imagen en la etiqueta en vez de texto y a hacer que la imagen se adapte al tamaño que nosotros queremos. Es decir, si la imagen es muy grande haremos que quepa en la etiqueta y lo mismo en el caso opuesto.

Una imagen en la etiqueta
07:50

En esta clase hay una explicación sobre por qué durante las sección hemos colocado las etiquetas sobre paneles en vez de colocarlas sobre la ventana directamente.

Porqué usamos paneles
04:08

¡Valora nuestro curso!
02:16
+
Botones (JButton)
6 Lectures 01:06:31

En esta clase explicaremos qué es un botón y para qué nos puede servir.

Preview 02:04

En esta clase aprenderemos a:

  1. Crear un botón
  2. Colocarlo en el panel para verlo
  3. Cómo colocarlo en la posición central del panel
  4. Dos formas diferentes de ponerle un texto
Crear un botón
17:55

En esta clase a aprenderemos a hacer muchas de las modificaciones posibles del texto del botón.

Ajustar el texto del botón
08:21

En esta clase se explicará las partes más externas del botón. Aprenderemos porqué en la clase anterior no funcionaba el setBackground, cómo hacer que funcione y los primeros pasos para configurar el borde.

El fondo del botón
07:01

En esta clase aprenderemos cómo poner un tipo de borde al botón, más concretamente el Bevel Border.

Poner borde al botón
18:40

En esta clase aprenderemos a poner un borde simple de una sola línea. Para ver más tipos de bordes podéis consultar la página oracle (empresa creadora de Java) https://docs.oracle.com/javase/tutorial/uiswing/components/border.html

LineBorder
12:30
+
Interacciones con ratón y teclado
7 Lectures 56:56

En esta clase vamos a ver qué es lo que realizaremos en las siguientes clases además de comprender para qué sirve el Mouse Listener.

Preview 02:47

En esta clase vamos a conocer las diferentes acciones que se pueden llevar a cabo con el Mouse Listener para realizar interacción en la aplicación.

Uso del Mouse Listener
16:29

En esta clase vamos a conocer las diferentes acciones que se pueden llevar a cabo con el Mouse Motion Listener (detector de movimiento del ratón) para realizar interacción en la aplicación.

Mouse Motion Listener
07:35

En esta clase vamos a conocer las diferentes acciones que se pueden llevar a cabo con el Mouse Wheel Listener (detector del movimiento de la rueda del ratón) para realizar interacción en la aplicación.

Mouse Wheel Listener
06:11

En esta clase usaremos el Action Listener para aprender más formas de interacción.

Action Listener
07:44

En esta sección aprenderemos a que ocurra algo cuando se pulsa una tecla cualquiera o una tecla concreta con el Key Listener.

página con tipos de listeners https://www.tutorialspoint.com/awt/awt_event_listeners.htm

páginas con recomendaciones sobre listeners https://docs.oracle.com/javase/tutorial/uiswing/events/eventsandcomponents.html

Key Listener
13:23

Introducción a lo que podemos hacer aplicándolo a ejercicios con lo que hemos aprendido hasta ahora.

Introducción a los próximos ejercicios
02:47
+
Ejercicio 1: contador de pulsaciones
4 Lectures 28:48

Un ejercicio básico, ideal para empezar, que consistirá en ver cómo se modifica el texto de una etiqueta en función del número de veces que se ha pulsado un botón.

Preview 04:10

En esta clase vamos a crear una ventana en java (JFrame) y haremos que sea visible. También añadiremos un texto de título al JFrame.

Creación de la ventana
02:22

En esta clase procederemos a realizar la colocación de una JLabel y un JButton sobre la ventana colocada anteriormente.

Colocación de la etiqueta y el botón
11:54

En esta clase finalizaremos el contador haciendo que el botón interaccione con la etiqueta. Además se hará una explicación de casos reales y útiles dónde se puede aplicar éste programa.

El contador y sus aplicaciones a un programa real
10:22
+
Ejercicio 2: Un poco de todo
6 Lectures 55:12

En esta clase se explica en qué consiste el ejercicio y cómo será visualmente dando a conocer todas las componentes que necesitamos.

Preview 17:09

En esta clase crearemos la ventana, el panel sobre el que irá todo colocado y la etiqueta que nos dirá la información que necesitamos saber más adelante.

Componentes básicos del programa
07:34

En esta clase vamos a crear los tres botones que indican qué color queremos modificar y le añadiremos los action listener que sean necesarios.

Los botones de color
05:12

En esta clase vamos a activar el Wheel Motion Listener (que es el que se usa para la rueda del ratón). Nos encargaremos de detectar si se ha movido y, en caso de que lo haya hecho, saber si la hemos movido hacia arriba o hacia abajo. También crearemos tres variables más que indicarán la cantidad de color.

Si la rueda se ha movido hay que mirar qué botón es el que está pulsado y aumentar o disminuir el número almacenado en esta variable. Para saber qué botón ha sido pulsado utilizamos un nuevo tipo de dato que se llama enumerado.

Escuchar la rueda del ratón (Wheel)
12:51

En esta clase pondremos las limitaciones de los colores. Un color formado por RGB es un vector de tres números (rojo, verde, azul) cada componente está comprendida entre [0, 255]. Esto significa que nuestras variables que se encargar de rellenar este vector nunca pueden tener un valor negativo o superior a 255 y es lo que vamos a controlar.

Controlar el contador RGB
08:19

En esta clase haremos el paso final del programa. Hacer que el panel cambie de color de fondo y se ponga el color que indica la etiqueta. Cada vez que seleccionemos un color y movamos la rueda del ratón, el panel irá cambiando de color en tiempo real.

El color RBG del panel
04:07
+
Cartelera de cine
9 Lectures 01:43:56

En esta clase explicaremos el funcionamiento del programa. Ya sabremos qué objetos necesitamos y qué es lo que nos puede traer problemas.

Preview 11:59

Vamos a crear la clase Película. Es el elemento mínimo que necesita nuestro programa. Sin películas no hay cine y sin cine no hay cartelera, por lo que es necesario definir qué es una película.

La clase película
05:41

En esta clase crearemos la ventana del programa y el panel que ocupe todo el fondo sobre el que se apoyarán el resto de componentes del programa.

La base del programa
08:14

En esta clase crearemos y ubicaremos en pantalla los paneles mínimos necesarios para llevar a cabo el programa.

Los paneles que necesitamos
12:15

En esta clase crearemos el primer objeto película. Decidiremos una película y descargaremos lo necesario para asegurarnos de que la tenemos completa.

Creación de la primera película
17:09

En esta clase nos encargaremos de realizar que los textos de la película, que son el título y el género, se ubiquen uno debajo del otro. Por defecto se colocan uno al lado del otro (si caben) y es lo que queremos evitar.

El Layout para los textos
04:11

En esta clase vamos a crear dos películas más y con ellas provocaremos varias cosas:

  1. Un for para que las películas se vayan colocando una debajo de la otra.
  2. Observaremos qué problemas nos podemos encontrar.
  3. Propondremos una solución para arreglar los problemas.
Creación de más películas
12:38

Solo hay dos formas de hacer que todas las películas de la cartelera quepan en la pantalla:

  1. Haciendo las películas tan pequeñas como para que quepan todas.
  2. Habilitando la opción de realizar scroll.

La primera opción es inviable por el hecho de que llegaría un punto que las letras se dejarían de poder leer. Por lo que la solución de scroll es la mejor.

Scroll: como ver todo sin que quepa en la ventana
09:30

El programa en sí ya está acabado, pero nunca hay que olvidarse del pulido final. Es la diferencia más esencial de los programas: hacerlos o hacerlos bien.

El arreglo final
22:19
+
Más componentes
8 Lectures 01:49:07

Esta clase es una introducción a lo que aprenderemos en esta sección. Veremos los tipos de componentes más comunes que se pueden ubicar por la pantalla para proporcionar al usuario la interacción adecuada en cada momento.

Introducción a las componentes
11:28

En esta clase aprenderemos cómo funciona la componente JTextField. Es un campo para rellenar un texto de tan solo una línea. Un ejemplo es en un formulario online donde se escriben nombre, apellidos, email, número de teléfono, dirección, etc.

Primera componente: JTextField
18:00

La componente JRadioButton también es muy común. Se utiliza cuando un usuario solo puede seleccionar un campo de los que hay. Se utiliza cuando la decisión es entre pocos elementos. Por ejemplo: hombre-mujer, gasolina-diesel. Más o menos se suele usar cuando hay que elegir un elemento de entre grupos de 2 a 4 elementos. Siempre se tiene que seleccionar un, y solo un elemento.

Segunda componente: JRadioButton
15:45

En esta clase aprenderemos a manejar la componente JCheckBox. Es más simple que JRadioButton ya que se usa para seleccionar de una breve lista de elementos los que deseemos, desde ninguno a todos.

Tercera componente: JCheckBox
18:32

La componente JTextArea es una zona rectangular que se utiliza como zona para escribir texto. Este texto puede ser editableno editable. Que sea o no sea editable tiene sus utilidades en cada caso de los que veremos ejemplos.

Cuarta componente: JTextArea
18:25

A la componente JTextArea no le conviene tener límites, se supone que si vamos a escribir texto, si éste no cabe en la pantalla hay que encontrar una forma de hacer que quepa. Pues la solución es poner barras de scroll verticales y horizontales en el caso de que sea necesario.

Poniendo scroll a la componente JTextArea
07:46

La componente JComboBox tiene como objetivo el mismo que el JRadioButton: de una lista de elementos seleccionar únicamente uno de ellos. En este caso JComboBox es una simple lista rellenada con un array de Strings que se puede desplegar para poder seleccionar.

Quinta componente: JComboBox
12:08

La componente JPasswordField es lo mismo que JTextField pero el contenido no lo vemos. Otra diferencia muy importante es cómo coger el contenido, en la clase veremos qué problemas y soluciones nos encontramos a la hora de coger el contenido del JPasswordField.

Sexta componente: JPasswordField
07:03
5 More Sections
About the Instructor
Srta. María del Mar Cardona Aranda
4.5 Average rating
1,238 Reviews
11,533 Students
6 Courses
CEO de Frogames, estudiante de Ingeniería Informática

Soy estudiante de Ingeniería Informática en la universidad de las Islas Baleares. Tengo una completa formación en diversos lenguajes de programación como Java, C, Ensamblador, MySQL, Objective-C y Swift. Soy lo que podría llamarse, un poco friky ^^

Como proyecto personal, he arrancado junto a Juan Gabriel Gomila una empresa al frente de desarrollo de apps, videojuegos y formación online llamada Frogames. Durante los últimos años hemos llevado a cabo más de 40 apps al completo, como hobby y para terceros, así como una decena de cursos online para enseñar a la gente a programar sin tener experiencia previa. 

La verdad es que trabajar fuera de una oficina, en casa, en el sofa, en la cama, es todo un lujo. Uno no se lo cree hasta que lo hace! ¿Tu también quieres convertirte en un emprendedor y llevar a cabo proyectos desde casa? Pues apúntate a nuestros cursos online y empieza a ver cómo lo hacen el resto de estudiantes y nosotros mismos para aprender a programar y ganar dinero mientras disfrutas haciéndolo! Solamente tienes que mirar los comentarios del resto de estudiantes y ver qué fácil puede ser cuando te lo explican bien!

Nos vemos en clase!

Juan Gabriel Gomila Salas
4.6 Average rating
4,977 Reviews
23,703 Students
30 Courses
Profesor universitario, Data Scientist & Game Designer

Como Licenciado en Matemáticas, he estado en contacto con gran variedad de escenarios y casos atípicos, donde se plantea una situación y debe resolverse de una forma óptima y eficiente.


Mi CV:

Artículos y publicaciones:

Decenas de artículos y publicaciones relacionadas con el mundo de las matemáticas, el tratamiento de imágenes junto con la revista internacional IPOL, las lógica detrás de las máquinas tragaperras, el diseño lógico de videojuegos y el análisis de datos. Conoce más acerca de estos y otros temas en mi web personal o en la web de mi estudio Frogames.

Docencia Universitaria:

Desde 2015 soy profesor en dos asignaturas de matemáticas del Grado de Telemática impartido por la Universidad de las Islas Baleares y en el HND de Desarrollo de Videojuegos impartido por la Escuela de Diseño de las Islas Baleares. Así mismo, los cursos en Udemy me ayudan a mejorar para convertirme en un instructor no solamente presencial y en grupos reducidos de alumnos si no también haciendo uso de las nuevas tecnologías y a grupos más homogéneos de alumnos.

Desarrollo de Videojuegos en PlaySpace SL:

Desde 2012, trabajo en la empresa de desarrollo de videojuegos española PlaySpace SL, desarrollando juegos clásicos de mesa y social casino como el Parchís, Bingo, Juegos de Cartas o máquinas de Slots. Empecé llevando a cabo las funciones de Game Designer y Data Scientist, definiendo las nuevas funcionalidades a partir de los datos existentes y mejorando el contenido a cada etapa. Desde 2014 dirigiendo el producto como Product Manager y Game Producer coordinando las labores de lanzamiento de nuevos juegos y funcionalidades.

Desarrollo de Apps:

Cuento con experiencia laboral en crear y lanzar de 30 apps y videojuegos lanzados por mi estudio Frogames y en más de 5 proyectos con empresas reconocidas internacionalmente incluyendo Audición Plena, Medical Alert, Plaiout o Pillapartida entre otros. En este aspecto soy publisher de aplicaciones en diferentes países y mercados online incluidos los de Google Play, Amazon Store y Apple App Store. En la web corporativa de Frogames y en mi propio blog encontrarás mi portfolio de proyectos lanzados para que valores su calidad y estilo.

Online Marketing / SEO:

Tengo experiencia en la creación de KPIs y realización de predicciones a medio y largo plazo basada en los datos clave de un negocio. Así mismo, tengo experiencia en optimizar tanto el SEO como el ASO de los artículos y apps que elaboro para conseguir el mayor número de descargas orgánicas sin invertir dinero en marketing. Así mismo, he coordinado varias campañas de Google Adwords y Facebook Ads para acelerar las descargas y visitas de los productos que he lanzado, como estos mismos cursos en Udemy.

Si quieres más información gratuita sobre este tema, en el blog de mi página web tienes varios artículos acerca de esta y otras temáticas interesantes relacionadas con el mundo del marketing.

Desarrollo Web:

He elaborado las páginas webs de mi propio estudio y blog creando plantillas Wordpress en HTML 5 haciendo uso de Bootstrap 3.

Data Mining y Business Intelligence

Con la experiencia en el análisis de datos en PlaySpace, me he especializado en bases de datos relacionales con MySQL y los algoritmos de Slice & Dice para tratar y organizar los datos en dashboards con sentido y usables para sacar conclusiones acertadas en los proyectos que he trabajado. En el blog de mi web personal encontrarás más artículos relacionados con el Data Mining y Business Intelligence con el que he trabajado en el area de los videojuegos y apps móviles.