Clase 17-05-24 - 1 - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
Vale, pues este es nuestro modelo de dato. Una arquitectura con una superclase, tres clases que son diferentes tareas. Vale, entonces antes de empezar a hacer nada hay que entender un poquito lo que hace la aplicación para organizarse porque lo que ya sabemos es que va a gestionar diferentes tipos de tareas. No sabemos qué va a hacer con ellas.
00:00:00
esencialmente lo que va a hacer
00:00:19
va a ser instanciarlas
00:00:21
para mostrar sus datos y permitir
00:00:22
consultarlos en la interfaz, nada más
00:00:25
instanciarlas y luego
00:00:27
hacer consultas sobre ellas a través de la
00:00:29
interfaz, no va a
00:00:31
haber más tratamiento sobre
00:00:32
ellas, pero claro, tendrán que estar en algún
00:00:35
lado, entonces es importante que
00:00:37
tengamos presente que los datos de mi
00:00:39
aplicación tienen que estar en algún sitio, entonces
00:00:41
¿dónde los meto? ¿lo decido
00:00:43
yo en una colección por ahí cualquiera?
00:00:45
¿o me lo está fijando la aplicación?
00:00:47
¿Puedo tomar la decisión que quiera?
00:00:48
Pues bueno, vamos a echar un vistazo al enunciado entero
00:00:51
Vale, pues entonces
00:00:53
La aplicación tiene dos posibilidades de actuación con las tareas
00:00:55
Crear una nueva y consultarla
00:01:00
Con lo cual, repito, esas tareas tienen que ir a algún sitio
00:01:03
Para que estén almacenadas en algún lado
00:01:07
Para poder consultarlas después de haberlas creado
00:01:09
Entonces, ¿me da alguna información?
00:01:11
No, el resto de información que me dices
00:01:14
para añadir una tarea, metes los datos
00:01:15
a través de esta interfaz
00:01:17
y sí que nos lo dice
00:01:19
nos dice aquí, la tarea creada
00:01:23
se guarda en un HashMap
00:01:25
esta es la información que nos faltaba
00:01:27
podríamos tomar una decisión nosotros de guardar en otro sitio
00:01:29
una colección de tareas
00:01:31
una lista, lo que fuera, pero nos dice
00:01:33
no, guárdalas en un HashMap
00:01:35
donde la clave es el propio ID de la tarea
00:01:37
¿qué ventaja tenemos con eso?
00:01:39
pues ya lo sabemos
00:01:41
que va a ser muchísimo más fácil
00:01:42
las búsquedas de una tarea
00:01:45
dentro del map, porque yo hago get
00:01:47
por id y ya la tengo
00:01:49
no es lo de siempre, si yo tengo una colección
00:01:51
con las tareas, para localizar una
00:01:53
tengo que recorrer hasta que
00:01:55
encuentre una con ese id, tengo que ir
00:01:57
una por una, recorrer la colección
00:01:59
¿esta tiene este id? no
00:02:01
paso a la siguiente, ¿esta tiene este id?
00:02:03
sí, ah, ya la encontré, ahora ya me meto
00:02:05
en sus datos, si lo guardamos
00:02:07
en un map que guarda la tarea
00:02:09
en el valor y el id en la
00:02:11
clave, si yo quiero la tarea
00:02:13
de id 5, me hago un get 5
00:02:15
y ya está, y ya la tengo, esa es la ventaja
00:02:17
de usar un map en lugar de una colección normal
00:02:19
pues ya nos lo están
00:02:21
diciendo, usa un has map para guardarlas
00:02:25
luego
00:02:27
además de añadir, ¿qué haremos?
00:02:28
pues buscar, y para buscar
00:02:31
pues usamos estos
00:02:33
elementos, entonces nos
00:02:35
construimos la interfaz y daremos comportamientos
00:02:37
y eventos
00:02:39
y ya está, el resto
00:02:39
de cosas que nos da es de cómo funciona la
00:02:43
interfaz, tenemos ya
00:02:45
toda la información que necesitábamos de donde guardarlo
00:02:47
bueno, pues entonces el hashMap podemos
00:02:49
hacernos o una clase aparte
00:02:50
y poner el map ahí
00:02:52
o en el mismo main
00:02:53
en la misma clase main, pues ponerlo como una
00:02:56
variable fuera estática, pues lo que
00:02:58
uno quiera
00:03:00
entonces, lo voy a poner en una clase aparte
00:03:01
que siempre parece como más
00:03:04
claro, que no esté metido ahí en la misma
00:03:06
en el mismo frame
00:03:08
nos vamos a hacer una clase
00:03:10
aparte, que es la clase
00:03:14
Tareas, bueno, una se llama tarea
00:03:16
Otra tarea sería muy confuso
00:03:19
Sí
00:03:20
Datos que es el nombre más
00:03:22
Efectivamente
00:03:24
Más habitual
00:03:26
Repositorio o lo que a uno le dé la gana
00:03:28
Vale, pues venga
00:03:31
Aquí van a estar mis datos
00:03:32
Que va a ser una variable estática
00:03:34
Static
00:03:36
¿Qué hago yo?
00:03:40
Has map o map directamente aquí
00:03:46
Eso me da igual
00:03:49
El id hemos dicho que es un string
00:03:49
Y el valor es una tarea
00:03:52
Vale
00:03:55
Pues aquí van a estar las tareas
00:03:55
Vamos a dejarlas ya
00:03:58
Instanciado este hashMap
00:04:00
Aunque vacío
00:04:02
Para que cuando se meta la primera tarea
00:04:03
No haya problemas con el null pointer exception
00:04:11
Haremos el put
00:04:14
Y no habrá ningún problema con ese null pointer exception
00:04:15
¡Hala! Ya está
00:04:18
De nuevo
00:04:21
En esta clase irían todos los
00:04:23
Métodos
00:04:26
en una aplicación
00:04:26
pues completa con modelo en capas
00:04:29
aquí irían todos los métodos para gestionar
00:04:30
estos datos, pero bueno
00:04:32
gestionar estos datos en nuestro caso va a ser
00:04:34
meter en el map, que eso va a ser hacer un put
00:04:36
pues para hacer un método que haga un put dentro
00:04:38
pues lo hacemos ya directamente en el main
00:04:40
y recuperar
00:04:42
tarea, pero para hacer un método
00:04:44
que tenga dentro el get, pues para eso
00:04:46
hacemos el get directamente en el main y ya está
00:04:48
no vamos a meter aquí métodos ni cosas
00:04:50
pero esto lo digo de cara
00:04:52
que os vayáis familiarizando con que las
00:04:54
aplicaciones son
00:04:56
modelos de capas
00:04:57
entonces tengo un conjunto de clases que me hacen
00:05:00
unas cosas, la vista, tengo otro conjunto
00:05:02
de clases que me trabajan con los datos
00:05:04
esta, para meter
00:05:06
sacar, consultar
00:05:08
ahora tengo mi programa principal
00:05:10
que llama la vista, llama al otro
00:05:12
cuando le hace falta
00:05:14
pero aquí bueno, hacer métodos específicos
00:05:15
para el put y el get
00:05:18
pues quizá es un poco
00:05:20
redundante
00:05:22
vale, pues ahora ya sí que tenemos que
00:05:24
hacer nuestra interfaz
00:05:26
nuestra interfaz
00:05:27
con estos requisitos
00:05:29
unos componentes
00:05:31
para la opción de añadir
00:05:34
y otros para la opción de
00:05:35
consultar
00:05:38
y ya está
00:05:39
pues venga, nos hacemos nuestro
00:05:40
frame
00:05:44
app tareas
00:05:48
vale
00:05:57
y ahora aquí estamos en la primera
00:05:58
parte, la de construir
00:06:16
la vista, arrastrando y poniendo
00:06:17
En estas en las que vosotros sois más hábiles que yo
00:06:20
Porque a mí esta parte de colocar cositas
00:06:23
Y mamonear con tonterías
00:06:25
No me gusta nada
00:06:27
Prefiero programar
00:06:28
Pero bueno, vamos a ver
00:06:31
Que nos sale
00:06:33
Primero vamos a ver el menú
00:06:33
Os dije durante el examen
00:06:36
Que si en lugar de un menú
00:06:39
Queríais hacerlo con dos paneles
00:06:41
Con dos pestañitas
00:06:44
Añadid como quisierais
00:06:45
Pero bueno, vamos a hacerlo con un menú y ya está
00:06:46
A ver, pues venga, un menú
00:06:48
Esto era
00:06:51
Una barra de menú, lo primero de todo
00:06:52
Venga, pues una barra de menú
00:06:55
Esto estará en
00:07:07
Componentes
00:07:08
Que está aquí
00:07:10
Una menú
00:07:14
Ah, menú, esta de menú
00:07:15
Joder, si es que veis
00:07:18
Si es que estas cosas
00:07:21
Me da una rabia perder tiempo con estas cosas
00:07:22
Venga
00:07:25
Pues hala
00:07:27
Se supone que ha colocado nuestra barra de menú
00:07:29
Lo que pasa es que como no le había puesto el absolute
00:07:34
A lo mejor no lo coge bien
00:07:36
Sí, porque me lo ha puesto en el panel
00:07:38
Y encima como estaba con esto
00:07:41
Entonces lo quito de aquí
00:07:42
Ahí, fuera
00:07:43
Venga, entonces
00:07:45
Ahí, vale, ahí ya está bien puesta
00:07:48
Venga, pues entonces
00:07:50
A esta menu bar
00:07:52
Le vamos a añadir un menú
00:07:55
Que era options
00:07:56
Ahí
00:07:57
El texto que va a figurar
00:08:00
Según los requisitos de denunciado
00:08:05
Es este, options
00:08:07
Vale, y ahora
00:08:08
Options tiene
00:08:10
Options tiene
00:08:13
Add y search
00:08:17
Vale
00:08:19
Pues venga
00:08:20
Options tiene un ítem
00:08:22
Que es
00:08:24
El texto
00:08:27
Add
00:08:30
y este
00:08:32
ya va a tener evento asociado
00:08:34
que es hacer aparecer unos componentes
00:08:35
este ya va a tener evento asociado
00:08:38
entonces add, vamos a cambiar
00:08:39
el nombre de la variable, en lugar de
00:08:42
mtnmenu item patatín
00:08:43
que es un poco jodienda, vamos a cambiar el nombre de la variable
00:08:45
y le vamos a llamar
00:08:48
pues opción app
00:08:50
o como os guste más, pero al menos algo que quede más claro
00:08:51
opción añadir
00:08:54
a esta es a la que habrá que
00:08:56
darle luego el comportamiento
00:08:57
Y luego tenemos la otra
00:09:00
Me parece que ya le detecto
00:09:02
En el radar
00:09:04
La otra que es
00:09:06
Esta
00:09:13
Vamos a
00:09:14
Vale, no puedo cambiarlos de posición
00:09:15
Desde aquí ya
00:09:27
Venga, pues a este
00:09:29
Menu item, el texto que va a tener
00:09:34
Va a ser
00:09:36
Search
00:09:37
Y vamos a cambio, como también va a tener comportamiento
00:09:38
Vamos a cambiar el nombre de la variable
00:09:46
Opción
00:09:47
Search
00:09:50
Entonces se ha quedado en desorden
00:09:51
Pero no sé si puedo desde aquí moverlos
00:09:53
Sí
00:09:56
Perfecto
00:09:57
Ya está, añadir y buscar
00:09:58
Ahora
00:10:02
¿Qué va a pasar cuando demos a estos botones?
00:10:03
Bueno, pues cuando demos
00:10:05
Al de add
00:10:08
Esto tiene que aparecer
00:10:08
Y cuando demos al de search
00:10:10
Esto tiene que aparecer
00:10:14
Entonces podemos funcionar un poco a lo rápido,
00:10:16
porque estamos así salvando el examen,
00:10:19
o probando algo un poquito más cómodo.
00:10:22
A lo rápido sería, me pongo todos los componentes
00:10:26
y el evento de add que sea hacer visibles los que me interesan
00:10:29
e invisibles los otros, y el de búsqueda lo contrario.
00:10:34
¿Vale? Esa opción queda clara, ¿no?
00:10:39
Lo que quiero decir.
00:10:42
y luego habría otra que es
00:10:42
me hago dos paneles distintos
00:10:45
panel 1, panel 2, uno encima del otro
00:10:47
dos paneles
00:10:49
y ahora cuando selecciono la opción add
00:10:50
el famoso set content panel
00:10:53
que es el que te fija el panel, que sea uno
00:10:54
y con la opción search
00:10:56
pues el set content panel le doy el otro
00:10:58
¿vale? pues el set content panel
00:11:00
recordad que era el que fijaba el panel
00:11:03
para el frame
00:11:05
entonces
00:11:05
vamos a hacer la segunda opción
00:11:07
¿vale? porque la primera
00:11:11
la primera está clara
00:11:12
Kevin, yo creo que tú lo hiciste con esa primera
00:11:13
o pusiste dos paneles distintos
00:11:16
ah, lo hiciste con dos paneles
00:11:18
y luego lo elegiste con set content panel
00:11:21
ah, vale
00:11:22
hiciste el panel visible
00:11:26
uno u otro, vale
00:11:29
vale, pues venga, vamos a hacer dos paneles
00:11:29
entonces
00:11:33
venga, pues a ver
00:11:33
un panel
00:11:36
los paneles están
00:11:38
podemos hacer todo esto desde código fuente
00:11:40
y en realidad es más claro
00:11:42
nos hacemos un jPanel
00:11:43
new jPanel y es más fácil
00:11:45
panel1, panel2
00:11:47
y luego, pero bueno
00:11:50
estamos con el builder
00:11:50
pues venga, contenedores
00:11:52
los paneles son contenedores
00:11:55
los contenedores están aquí
00:11:57
esto es un panel
00:11:59
pues venga, llevamos aquí
00:12:00
un panel, ya lo tenemos aquí
00:12:03
este
00:12:06
vamos a cambiar el nombre
00:12:07
de la variable, panel, para no liarnos
00:12:09
panel add
00:12:12
ya tenemos el panel add
00:12:13
y ahora vamos a hacernos otro panel
00:12:16
vamos a
00:12:17
a ver, lo que pasa es que
00:12:19
vale
00:12:22
al panel que me lo contiene
00:12:22
le vamos a poner el layout
00:12:26
absolute
00:12:28
ahí
00:12:30
y ahora este panelcillo
00:12:33
pues lo ponemos así
00:12:40
ala, ya tenemos aquí un panel
00:12:41
no hay que perder de vista
00:12:47
a la jerarquía de la izquierda porque es la que me permite
00:12:50
ver si lo tengo todo organizado o no
00:12:52
en este panel vamos a poner los componentes
00:12:53
relacionados con añadir
00:12:56
y luego tendremos un panel de búsqueda
00:12:57
pues venga, vamos a hacer otro panel
00:12:59
que lo llevamos al
00:13:01
panel
00:13:04
a este
00:13:05
panel, le cambiamos el nombre de la variable
00:13:08
si algo de lo que estoy haciendo no te gusta
00:13:12
me lo dices, ¿vale?
00:13:15
porque a mí estas cosas no me gustan
00:13:17
vale, pues venga, hacemos el panel
00:13:20
aquí
00:13:23
más grandecito
00:13:23
ya está, pues tenemos el de añadir
00:13:26
que es este de arriba y el de buscar que es este
00:13:37
este y este
00:13:39
y ahora vamos a ponerle los componentes que necesitan cada uno
00:13:40
venga, el de añadir
00:13:43
el de añadir, le selecciono lo primero de todo
00:13:46
ahí está, el panel de añadir
00:13:49
¿qué componentes quiero que tengan?
00:13:50
pues el de añadir tiene que tener
00:13:54
Tres radiobutón
00:13:56
Un botón
00:13:58
Un textfield y un área de texto
00:14:00
Y dos, hola
00:14:02
Sí, pero la he secuestrado
00:14:04
Creo que Irene
00:14:06
Entonces, pero a ver, ha venido seguro
00:14:07
Irá por vosotros
00:14:10
Pero no sé, si queréis subir antes
00:14:12
Vale
00:14:14
Venga, pues hala
00:14:20
Esto vamos a
00:14:22
Un botoncito, lo primero
00:14:23
Pero bueno, al panel este add vamos a ponerle, que no se nos olvide, el gestor absoluto.
00:14:25
Absolute layer.
00:14:31
Pues venga, le ponemos un botón al panel add.
00:14:32
Vale.
00:14:40
Este botón tiene el texto add.
00:14:41
Y vamos a cambiar el nombre de la variable, pero como tiene evento asociado,
00:14:51
los que tienen evento asociado, conviene que le pongamos un nombre de variable identificable,
00:14:54
porque luego en el código seguramente vayamos a mirarlo, vayamos a ver dónde está.
00:14:59
entonces vamos a añadirle
00:15:02
botón add
00:15:05
ahora el botón este ya está
00:15:06
¿qué más cosas queremos en el panel de añadir?
00:15:10
tres radio button
00:15:13
vale, los radio
00:15:15
button son estos
00:15:17
entonces pues uno puede poner un radio
00:15:18
button aquí
00:15:20
que este radio button, ¿qué texto tiene?
00:15:21
tiene el texto
00:15:27
meeting, bueno, development y training
00:15:28
pues venga
00:15:30
esto pues
00:15:31
en uno de los ejercicios, esto que
00:15:37
os mandé, pues ya lo probaríais
00:15:38
un meeting
00:15:41
vale
00:15:43
vamos a ponerle otro radiobutton
00:15:44
este tiene el texto
00:15:48
development
00:15:56
development
00:15:57
ya está
00:16:00
y luego tenemos
00:16:03
el
00:16:05
a ver si tengo más espacio
00:16:06
vale
00:16:20
vamos a
00:16:25
el frame un poquito más grande
00:16:27
vale
00:16:30
el manelad que es este
00:16:33
le voy a hacer más grande
00:16:36
vale, y training
00:16:37
pues venga, otro radio button
00:16:42
aquí
00:16:44
training
00:16:47
training
00:16:49
este se ha quedado
00:16:54
que no se le ve
00:16:59
ala, ya está, que más componentes
00:17:00
text fill
00:17:03
y área de texto con date y note
00:17:06
pues venga
00:17:08
aquí, por favor, siempre
00:17:08
la jerarquía de la izquierda
00:17:14
importante, porque es la que me dice
00:17:16
en qué panel estoy
00:17:18
porque si no aquí es que está uno detrás del otro
00:17:19
entonces nunca puedo saber exactamente en qué panel estoy
00:17:21
porque está uno debajo del otro
00:17:24
entonces hay que asegurarse de que aquí está seleccionado
00:17:25
en el que quiero trabajar
00:17:28
¿vale? para no mezclar componentes
00:17:30
entre paneles y que esto sea un desmadre
00:17:32
vale, pues venga
00:17:34
a ver, hemos dicho un text fill
00:17:36
aquí es donde va la fecha
00:17:38
Con una etiqueta
00:17:47
Y la nota
00:17:50
En un text area
00:18:00
Bueno, pues los componentes están todos
00:18:02
Creo
00:18:42
Todo lo necesario para añadir está
00:18:43
Dime
00:18:46
Sí
00:18:49
Sí, lo que pasa es que dice aquí
00:18:51
que cambia el texto
00:19:01
de las etiquetas, porque entonces lo que vale es para otra cosa
00:19:03
Claro, o sea, esta etiqueta ahora mismo
00:19:06
yo he puesto date, pero en función
00:19:09
del radio button que
00:19:11
pulses, la etiqueta
00:19:13
te cambia
00:19:16
Bueno, más que visible te cambia, porque entonces
00:19:16
la tarea, si es development
00:19:19
tenía otra cosa, que era título
00:19:21
Creo o función
00:19:23
Y si era training tenía tarea
00:19:24
O sea tenía nombre de tarea o algo así
00:19:26
Entonces todas las tareas
00:19:29
Tienen aparte de la nota
00:19:31
Y del identificador único
00:19:33
Que como aquí no está
00:19:35
Se supone que se genera, la aplicación lo genera
00:19:37
Todas las tareas tenían además uno añadido
00:19:39
Entonces el text field de arriba
00:19:41
Lo que es el text field
00:19:43
Es necesario para todas
00:19:44
Lo que cambia es el texto que pone aquí
00:19:46
Porque para una será esto
00:19:48
Entonces yo aquí he puesto
00:19:50
de ir a proponer algo, pero luego
00:19:52
cuando ya le demos comportamiento
00:19:53
en función de lo que esté seleccionado
00:19:55
pues cambia la cosa mucho
00:19:58
¿Puedo poner más textfield para cada uno?
00:19:59
No, no, no, este textfield se reutiliza
00:20:02
si tú vas a añadir una
00:20:04
una meeting, de aquí coges
00:20:05
la fecha, si vas a añadir una
00:20:08
de desarrollo, de aquí coges la función
00:20:09
y si vas a añadir una de training
00:20:11
de aquí coges el nombre del training
00:20:13
pero claro, es así
00:20:16
porque cada una de estas tareas
00:20:18
añadían todas un único parámetro
00:20:19
adicional, si cada
00:20:22
una de ellas añadiera diferentes cosas
00:20:24
pues para cada una de ellas tendría que haber
00:20:26
diferentes áreas de texto, pero en este
00:20:27
caso, como coincide que todas ellas
00:20:29
necesitan, aparte de la nota
00:20:31
aparte de la nota, no solo
00:20:33
entonces esta etiqueta, yo le he puesto
00:20:34
eso porque ahí tiene que haber una etiqueta
00:20:37
pero esa etiqueta tendrá
00:20:39
tendrá que cambiar de valor en función de lo que
00:20:42
seleccionemos, entonces
00:20:46
si nosotros ejecutamos esto ahora
00:20:46
¿vale? pues esto es lo que nos
00:20:49
sale, pero efectivamente
00:20:53
nosotros ya vemos que aquí hay algo
00:20:54
raro.
00:20:57
Para empezar,
00:20:58
primero hay que darle el comportamiento
00:21:01
que no tiene un comportamiento dado.
00:21:03
Pero ahora mismo pasa algo raro, que es que
00:21:04
los radio button no deberían
00:21:07
funcionar así, ¿verdad? Los radio button
00:21:09
están pensados para que sólo
00:21:11
esté uno activo
00:21:13
cada vez, sólo esté uno activo. Y si yo marco
00:21:15
uno, se me desmarca el otro.
00:21:17
¿Verdad? Entonces,
00:21:19
¿por qué pasa
00:21:21
esto, porque nos falta
00:21:23
el que
00:21:24
meterlos en un
00:21:25
button group
00:21:29
lo tenemos que meter en un button group
00:21:29
y entonces ahora ya, pues pasar a eso
00:21:32
de ahí, vale, pues entonces
00:21:35
el button group este
00:21:36
uuuh, que hago yo aquí
00:21:39
vale
00:21:43
nos vamos al código
00:21:43
aquí tenemos los
00:21:46
radiobutton estos
00:21:49
que están aquí, este, que nombre más
00:21:51
horroroso, vamos a cambiárselo
00:21:56
a este de aquí, el meeting
00:22:03
a ver, aquí el meeting
00:22:09
este, ¿verdad? pues este fuera, este te sale de aquí
00:22:10
está fuera, vale, pues entonces
00:22:18
este radio button de aquí le vamos a cambiar el nombre de variable
00:22:25
le vamos a cambiar
00:22:29
radio
00:22:30
meeting
00:22:32
meeting
00:22:34
vale, el de desarrollo
00:22:37
le vamos a cambiar el nombre de la variable
00:22:40
para que no tenga ese nombre tan feo
00:22:42
se llame radio
00:22:44
development
00:22:46
vale
00:22:48
y este de aquí abajo lo vamos a cambiar
00:22:50
a
00:22:52
radio training
00:22:52
ala, ya está
00:22:56
Vale, pues entonces, ahora ya que tiene un nombre un poquito más manejable, vamos a hacer un button group, ¿vale?
00:22:58
El button group era, juraría que jbuttongroup sería grupo botones igual a new button group, ¿vale?
00:23:09
Y lo he debido
00:23:38
Escribir mal, ¿no? Porque no me deja importarlo
00:23:41
¿Cómo era este?
00:23:43
Lo he escrito mal
00:23:46
Creo que sí
00:23:47
Es sin la J
00:23:48
Sí, el diseño yo creo que aparece
00:23:49
Pero
00:23:53
Import, vale, aquí está
00:23:53
Sin la J
00:23:56
Vale, y ahora los añadimos al grupo
00:23:57
Grupo
00:24:00
Botones
00:24:02
Punto add
00:24:08
radio
00:24:09
meeting
00:24:14
grupo botones
00:24:16
punto ad
00:24:22
radio
00:24:24
development
00:24:26
perdón
00:24:27
en la misma línea los tres a la vez
00:24:31
yo creo que no
00:24:35
o sea que le puedas pasar al
00:24:37
grupo botones un array de botones
00:24:39
o un list de botones
00:24:42
Yo creo que no
00:24:43
Yo siempre lo he visto así, vamos, que vas añadiendo al grupo
00:24:45
Radio
00:24:48
Training
00:24:51
Ya pertenecen al mismo grupo
00:24:54
Entonces ahora en principio debería ser excluyente
00:24:59
La selección de uno que la del otro
00:25:02
Vamos a ver
00:25:04
Tenemos este, este
00:25:06
Ahora ya sí, ya funcionan como grupo
00:25:08
¿Vale?
00:25:10
Esto ya tiene un poco más de sentido
00:25:11
Vale, entonces ahora ya que la interfaz
00:25:14
se parece a lo que nosotros queremos hacer,
00:25:17
ahora ya tenemos que ver el comportamiento
00:25:19
de todo esto que tiene comportamiento.
00:25:20
Bueno, los radio button lo tienen
00:25:23
porque cuando nosotros pulsemos
00:25:25
queremos que este nombrecito de aquí,
00:25:27
esta etiqueta cambie, ¿verdad?
00:25:30
Cuando pulsemos meeting queremos que ponga date,
00:25:32
efectivamente, cuando ponemos development
00:25:34
queremos que ponga lo que sea,
00:25:36
ahora lo miraremos,
00:25:38
o cuando ponemos training queremos que ponga otra cosa.
00:25:39
Entonces, los radio button tienen un evento
00:25:41
que es para cambiar el nombre de la etiqueta,
00:25:43
Solo para eso, nada más
00:25:45
Y luego, el ad también tiene un evento
00:25:47
Que este ya sí que es
00:25:50
Crear la etiqueta del tipo que sea
00:25:51
Meeting, development o training
00:25:53
En función de la que esté seleccionado
00:25:55
Con los datos que sea
00:25:56
Y creo que está ya Estefano ahí
00:25:58
Voy a decir lo del examen
00:26:01
¿Qué día habíamos dicho?
00:26:02
Tres
00:26:03
Un momentito
00:26:04
A ver
00:26:18
A ver, vamos con el coñacete este
00:26:19
en fin
00:26:23
bueno, pues ahora ya
00:26:24
los botones tienen un comportamiento
00:26:26
que es cambiar el texto de esta etiqueta
00:26:28
perdón, los radiobutones, sí
00:26:29
y es decir, un comportamiento
00:26:31
que ahora ya es coger los datos
00:26:33
e instanciar la tarea
00:26:34
y nada más
00:26:35
¿vale?
00:26:36
entonces, pues venga
00:26:38
vamos a los radiobutones
00:26:39
que es lo más sencillo
00:26:40
¿necesitáis parar?
00:26:41
bueno, vamos a parar dos minutillos
00:26:46
¿vale?
00:26:48
y mientras voy
00:26:50
- Subido por:
- Raquel G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 9
- Fecha:
- 25 de mayo de 2024 - 17:44
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 26′ 52″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 128.62 MBytes