20250408 CorrecciónEx7abril_2 - 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:
Venga, ¿hasta ahora está todo claro?
00:00:00
Sí.
00:00:03
Vale, pues estábamos con el botón de búsqueda.
00:00:04
Ahora, el botón de búsqueda es en función de lo que hay en el
00:00:07
combo box.
00:00:09
El combo box, no sé cómo se llama,
00:00:10
no tendré tanta suerte de que se llame combo box, ¿verdad?
00:00:13
¿Se llama combo box?
00:00:17
Mira qué suerte he tenido.
00:00:19
Vale.
00:00:20
Sí, entonces, combo box, get selected,
00:00:24
ítem, ¿vale?
00:00:30
Si el
00:00:32
ítem seleccionado
00:00:33
en el combo box
00:00:36
resulta que es
00:00:37
all,
00:00:39
pues entonces
00:00:44
que...
00:00:45
Bueno, ya.
00:00:48
Pero ahora hay que recorrer bien el map y hay que recorrer bien las cosas.
00:00:49
Bueno, pero con eso él tiene bastante.
00:00:51
Bueno, pues está bien.
00:00:53
Bien, está bien. Cada cosita es
00:00:56
un salto.
00:00:59
¿Está bien?
00:01:01
No, pero es verdad.
00:01:02
Vale, pues entonces, ¿qué hay que hacer aquí?
00:01:04
Hay que mostrar todas las tareas.
00:01:07
De nuevo, qué desastre no tener una herencia y un único map.
00:01:10
Pues no, tenemos tres más por no tener una herencia, ¿verdad?
00:01:14
Desesperante.
00:01:17
Tres bucles.
00:01:20
Entonces, pues venga, vamos a recorrer el map y sacar la información.
00:01:22
A ver, la información había que sacarla de esta manera.
00:01:26
Identificador, dos puntos y campo propio de la subtarea.
00:01:33
Vale, pues entonces vamos a recorrer el map.
00:01:37
Los que están recuperando colecciones,
00:01:41
¿se acuerdan de cómo recorrer el map?
00:01:43
Lo podíamos recorrer de dos maneras,
00:01:45
con un map entry o sacando el set de las claves
00:01:47
Y luego ir clave por clave
00:01:55
Si uno no se acuerda del map
00:01:56
Entry, no se que
00:01:59
Que uno no se acuerda de memoria
00:02:00
Pues siempre tiene la opción sencilla
00:02:02
Que es hacerse un set con las claves
00:02:03
Porque esto es muy fácil de recordar
00:02:06
Claro, pero tienes que acordar
00:02:07
Se hace un set con las claves
00:02:14
Con
00:02:16
Vale, de todas maneras
00:02:17
No, no, no
00:02:29
Un set de los valores
00:02:38
Vale, pues entonces
00:02:39
tareas
00:02:46
empezamos con las de meeting por ejemplo
00:02:49
tareas de meeting
00:02:51
punto key set
00:02:53
vale
00:02:55
y ahora ya vamos a recorrer las claves
00:02:55
para cada clave
00:02:59
integer claves
00:03:02
que tenemos que hacer
00:03:10
pues en el list
00:03:11
recuperar el objeto y en el list
00:03:13
colocarlo nada más
00:03:16
vamos a recuperar el objeto
00:03:17
vamos a recuperar el objeto
00:03:18
el objeto M que será
00:03:25
tareasmitting.get
00:03:28
la clave
00:03:31
y ahora ya en el list
00:03:37
hay que colocar
00:03:45
la información correspondiente
00:03:46
¿Y cómo se colocan cosas en un list?
00:03:48
¿A quién se lo añadimos?
00:03:52
Al modelo, ¿verdad?
00:03:54
Entonces buscamos el modelo que ya estaba hecho,
00:03:55
que se llama modelo,
00:03:58
y al que efectivamente está parametrizado con un string.
00:03:59
Magnífico.
00:04:03
Pues a ese modelo ya le añadimos.
00:04:04
¿Dónde estamos?
00:04:07
Pues al modelo le añadimos.
00:04:13
Vale.
00:04:17
había que añadir
00:04:20
el id
00:04:27
con lo cual m get id
00:04:29
dos puntos
00:04:31
y el campo específico
00:04:33
que el campo específico de meeting
00:04:35
era fecha
00:04:37
vale
00:04:38
m get id
00:04:40
concatenado
00:04:41
con dos puntos
00:04:44
concatenado con esto
00:04:46
vale
00:04:50
modelo.add
00:04:51
addElement
00:04:55
addElement
00:05:00
¿Vale?
00:05:03
Ya está.
00:05:07
Y ahora esto mismo para las otras.
00:05:11
El modelo te añade a la lista
00:05:20
lo que tú le pongas aquí,
00:05:22
el string que le pongas, que le he puesto
00:05:24
el id de la tarea, dos puntos
00:05:26
la fecha de la tarea
00:05:28
y ahora esto mismo
00:05:29
para todas las demás
00:05:32
esto está quedando
00:05:33
feísimo porque no estamos haciendo
00:05:36
ni métodos auxiliares
00:05:38
ni estamos haciendo nada
00:05:39
esto lo ideal sería un método auxiliar
00:05:42
de añadir tareas a list, etc
00:05:44
¿vale? pero lo estamos
00:05:45
haciendo muy cutre todo
00:05:48
el chico ha hecho que le devuelva el map
00:05:50
todos los valores
00:05:52
ha puesto el map.values
00:05:53
y lo ha guardado en un set.
00:05:56
Bueno, si existe el método values que te lo guarda en un set.
00:05:57
No sabía.
00:06:00
Lo único es que, ojo con ese método
00:06:02
porque los valores pueden
00:06:06
estar duplicados y en el set no.
00:06:08
Entonces, si hay dúplicas, habrá que ver
00:06:10
si te elimina la dúplica o no.
00:06:12
Seguramente sí. Bueno, depende si tienes el método.
00:06:13
Bueno, pero da igual. Si no lo tienes,
00:06:16
es que no es un duplicado.
00:06:18
Ya, parece. Me refiero al duplicado
00:06:20
Entonces hay que tener cuidado con ese método
00:06:22
Porque
00:06:27
La práctica que hice
00:06:27
De este ejercicio
00:06:30
Era para que listase todo
00:06:32
Y entonces te daba el código más el nombre
00:06:34
Como tiene guardado el código
00:06:37
El código siempre va a ser diferente
00:06:40
Cuando se crea
00:06:41
Claro
00:06:42
Pero tienes que
00:06:44
Para listarlo
00:06:45
Si no hay duplicados
00:06:48
Que en este caso no lo hay
00:06:50
Te da lo mismo
00:06:51
y aquí en development
00:06:51
el campo propio era nombre función
00:07:06
vale pues ya está
00:07:09
ya hemos añadido al list
00:07:14
también todas estas tareas
00:07:16
y ahora vamos a hacer
00:07:17
lo mismo pero para añadir las otras
00:07:19
tres for seguidos
00:07:22
porque no hay herencia
00:07:24
repito, o sea un rollo
00:07:25
pues ahora lo mismo
00:07:26
para las de training
00:07:29
y el campo propio
00:07:31
para las de training era título
00:07:44
título
00:07:46
bueno, pues todo el mundo
00:07:55
se ha enterado de lo que hemos hecho aquí
00:08:03
Juan, compañía
00:08:05
hemos recorrido los tres sets
00:08:07
uno por uno y hemos añadido
00:08:09
al list lo que nos pedían
00:08:11
el ID concatenado con dos puntos
00:08:13
y el campo propio de cada una de ellas
00:08:15
y ya está, vale, esto en el caso
00:08:17
de OL, pero en los otros casos
00:08:19
pues en los
00:08:21
otros casos, pues hay que añadir solo
00:08:25
el que toque
00:08:27
entonces aquí esto
00:08:27
si no es
00:08:30
es copiar
00:08:33
lo mismo que hay, si, lo que pasa es que
00:08:35
claro, que es que queda un código
00:08:37
este código
00:08:39
se puede estructurar muchísimo mejor
00:08:41
porque claro, si no tiras, le copias y pegas
00:08:43
es que te queda horroroso, pero bueno, estamos en un examen
00:08:44
si son meeting
00:08:47
si las tareas
00:08:56
del combo box seleccionadas
00:08:59
el seif
00:09:01
vale, si lo que tenemos aquí seleccionado
00:09:03
son tareas de meeting
00:09:07
pues entonces solamente
00:09:09
va a tocar hacer
00:09:11
este
00:09:12
solo este
00:09:14
vale
00:09:17
si son las otras
00:09:23
es que vamos
00:09:29
duele la vista de ver
00:09:32
tanto código repetido
00:09:34
tanto
00:09:35
tanto
00:09:36
development
00:09:37
A ver, es que el modo oscuro
00:09:41
No me gusta nada, no sé por qué
00:09:56
Development es
00:09:58
Nombre, función
00:10:00
¿Seguro?
00:10:02
Le he dado una oportunidad, pero
00:10:07
No, no, espera, vamos a acabar esto
00:10:09
Porque ya me estoy estresando tanto copia y pega
00:10:11
Y lo acabamos ya del tirón
00:10:13
O me vuelvo loca
00:10:15
Vale, y ahora
00:10:16
Nos faltaba el training
00:10:23
Training, vale
00:10:25
Training
00:10:32
Aquí lo mismo
00:10:38
training y título
00:10:43
en el modo oscuro lo habrías
00:10:46
escrito mejor, seguro
00:10:52
escribido mejor, sí
00:10:53
título, vale
00:10:55
entonces, ¿podemos hacer ya una primera
00:10:58
prueba a ver si la búsqueda
00:11:00
la hace correctamente?
00:11:02
¿cómo se cambia eso?
00:11:07
aquí, no supongo, ¿no?
00:11:10
¿dónde me tengo que ir?
00:11:12
Pero en la pizarra se ve peor
00:11:13
En el proyector se ve peor
00:11:33
¿No? ¿O se ve mejor?
00:11:34
Pues no lo sé
00:11:35
No pasa nada
00:11:36
Hacemos un repaso rápido.
00:11:44
Vale.
00:11:46
El repaso rápido era que queríamos capturar el evento del
00:11:47
JList este de aquí.
00:11:51
¿Vale?
00:11:53
Si añadimos un meeting cualquiera, fecha marzo,
00:11:53
descripción, dormir.
00:11:58
Añadimos.
00:12:01
Y ahora vamos a buscar solamente los meetings.
00:12:02
Solo hay este.
00:12:05
Vale.
00:12:06
Pues, entonces, el evento del, tenemos que irnos al evento del
00:12:07
JList.
00:12:10
Pues, venga, nos íbamos aquí a.
00:12:11
el JList
00:12:13
y aquí, ¿qué eventos me ofrece?
00:12:15
el evento
00:12:19
por defecto no
00:12:19
pero aquí vemos que tiene un montón de eventos
00:12:21
entre ellos el del ratón, el del mouse
00:12:24
y dentro del mouse tiene el de hacer click con el mouse
00:12:25
bueno, pues hemos seleccionado ese
00:12:28
hacer click con el mouse, hemos seleccionado ese
00:12:30
y ahora ¿qué queremos?
00:12:32
una vez que hemos hecho click con el mouse
00:12:34
queremos sacar el elemento que esté seleccionado
00:12:36
pues el elemento que está
00:12:38
seleccionado lo sacamos con GetSelectedValue
00:12:40
vale, el elemento que está seleccionado
00:12:42
tenemos que quedarnos con la primera
00:12:44
parte antes de los dos puntos
00:12:47
pues cuando tenemos una
00:12:48
cadena cualquiera, sabemos que con el
00:12:51
método split, lo separamos en
00:12:53
partes, colocando cada parte
00:12:55
en una posición de un array
00:12:57
y ahora ya
00:12:58
nos quedamos con
00:13:00
la primera de todas las partes
00:13:03
en las que ha hecho el splitting
00:13:05
nos quedamos con la primera
00:13:07
no lo va a dar en cadena
00:13:08
lógicamente, lo convertimos a entero
00:13:10
y ahora esto ya es el id
00:13:12
¿vale?
00:13:15
y ahora ya tenemos que, si tuviéramos
00:13:16
un solo map, ojalá
00:13:19
haríamos un get en ese único map
00:13:20
y punto pelota, pero como tenemos
00:13:23
tres maps, tenemos que hacer
00:13:25
todos los get hasta que encontremos uno que sea
00:13:26
diferente de null, ¿vale?
00:13:29
entonces, aquí
00:13:31
podemos hacer
00:13:33
si
00:13:37
es que no me va a declarar
00:13:39
por ejemplo
00:13:41
vamos a hacernos
00:13:43
un meeting M
00:13:44
esto de la herencia
00:13:47
es un coñazo
00:13:49
una tarea de training esta de aquí
00:13:50
y una de desarrollo es aquí
00:13:53
de B
00:13:54
lo ment
00:13:55
D
00:13:57
vale, entonces
00:13:58
si M
00:14:02
siendo M
00:14:04
el resultado de hacer un get
00:14:06
en tareas
00:14:08
meeting
00:14:10
exacto, tareas
00:14:11
meeting.get
00:14:14
id
00:14:15
si esta es diferente
00:14:16
de null
00:14:22
ya la hemos encontrado
00:14:23
ya la hemos encontrado y lo único que habrá que hacer será
00:14:25
poner en el campo correspondiente
00:14:28
en el que hay que poner el resultado
00:14:30
que, como se llamaba
00:14:31
¿alguien se acuerda de como se llamaba
00:14:34
el área de texto para poner la descripción.
00:14:36
Texto des
00:14:41
R.
00:14:42
Se llamaba así.
00:14:44
Vale.
00:14:50
Punto
00:14:57
sec test
00:14:57
y es el campo específico del
00:14:58
meeting. Que el campo específico del
00:15:01
meeting era su fecha.
00:15:03
¿Verdad?
00:15:06
Ah, no, la descripción
00:15:09
lo que había que poner ahí.
00:15:10
Ahora,
00:15:12
el 6.
00:15:14
¿Que esta ha sido nul?
00:15:21
Vamos a probar con la siguiente.
00:15:23
¿Que esta ha sido nul?
00:15:25
Pues si T,
00:15:26
siéndote el resultado de hacer
00:15:28
tareas
00:15:31
training
00:15:33
get id es diferente de nul
00:15:34
pues lo mismo
00:15:36
texto
00:15:38
descripción
00:15:39
set test
00:15:42
t.get descripción
00:15:43
y ahora
00:15:51
en el caso de que haya sido nula
00:15:54
también la anterior
00:16:04
si d siendo d el resultado de hacer
00:16:05
tareas
00:16:08
development
00:16:09
GetID es diferente de null
00:16:10
Pues entonces hará lo mismo
00:16:13
Este de aquí
00:16:15
D
00:16:18
Y en el else es que no habría
00:16:21
Se supone que nunca va a entrar en el else
00:16:27
Porque esto viene de haber cogido
00:16:30
Una tarea del JList que le ha recuperado
00:16:32
Del map, entonces tiene que existir
00:16:34
Dime, Jesús
00:16:35
Pues seguro
00:16:37
A ver, el ID
00:16:40
Lo sacamos
00:16:44
Esta aplicación, ¿qué hace? Pues vamos a crear una tarea cualquiera, pues esta en abril, ¿vale? Correr, la añadimos, la buscamos, vamos a buscar todas las de meeting, esta.
00:16:45
entonces, cuando yo selecciono
00:17:02
aquí, cuando yo hago click aquí
00:17:05
tiene que coger
00:17:06
la tarea correspondiente a este
00:17:09
string para mostrar aquí su descripción
00:17:10
pero claro
00:17:13
esto es una cadena que tiene el IDE
00:17:14
concatenado con dos puntos, pues tengo que
00:17:16
sacar de esta cadena la primera parte
00:17:18
porque yo tengo que localizar por IDE
00:17:20
entonces, uno sabe que en un map
00:17:22
localiza por IDE, entonces tiene que sacar el IDE
00:17:25
y el IDE de donde lo saca
00:17:27
de esta cadena, tiene que destriparla
00:17:28
esta cadena
00:17:30
pues para destripar la cadena
00:17:31
hace un split
00:17:33
que es como dividimos una cadena en partes
00:17:34
y ahora ya
00:17:37
la primera que encontremos
00:17:39
que sea diferente de null
00:17:41
la colocamos ahí
00:17:43
vale, entonces vamos a poner más
00:17:44
a ver si sigue funcionando
00:17:47
vamos a poner una de desarrollo
00:17:50
la función de la de desarrollo
00:17:51
pues va a ser
00:17:54
nombre de la función
00:17:55
Pues clases
00:17:59
Descripción, hacer clases
00:18:02
Vale, vamos a ver si las tenemos todas
00:18:05
Vamos a buscarlas todas
00:18:10
Aquí están todas
00:18:12
Esta es hacer clases, esta es correr
00:18:13
Vamos a buscar solas de desarrollo
00:18:16
Esta es la de desarrollo, hacer clases
00:18:18
Vamos a buscar solas de training
00:18:20
De estas no hay ninguna
00:18:22
A ver de meeting, si había alguna, esta
00:18:23
¿Cuál es su descripción? Esta
00:18:26
¿Vale? Pues ya está, ya está terminado el examen entero.
00:18:27
¿Vale? A ver, hay cosas que se pueden hacer como ir borrando efectivamente los campos de texto para no obligar al usuario a borrarlos a mano cada vez que añadimos.
00:18:33
Y hacer el código más bonito, hacer métodos auxiliares, todo eso.
00:18:46
Pero la funcionalidad que se pedía, ya está.
00:18:50
vale
00:18:52
entonces
00:18:53
recopilando
00:18:55
pues hacer los maps
00:18:58
recorrer maps
00:19:01
y recuperar de maps por clave
00:19:02
los eventos de panel
00:19:04
que era visible e invisible el que fuera
00:19:06
el evento de los meeting
00:19:08
que era cambiar una etiqueta
00:19:12
el evento de añadir
00:19:14
entonces lo que había que escribir era muy poco
00:19:18
porque la mayoría, los eventos que son largos
00:19:20
lo que había que hacer era copia y pega
00:19:22
el evento de añadir
00:19:24
Pues o añado esta
00:19:26
O añado esta
00:19:27
Pero era un copia y pega
00:19:28
El evento de buscar
00:19:30
Pues recorrer el
00:19:33
Pues venga
00:19:35
Dudas
00:19:40
- Materias:
- Programación
- Niveles educativos:
- ▼ Mostrar / ocultar niveles
- Formación Profesional
- Ciclo formativo de grado superior
- Primer Curso
- Subido por:
- Raquel G.
- Licencia:
- Todos los derechos reservados
- Visualizaciones:
- 2
- Fecha:
- 17 de abril de 2025 - 18:22
- Visibilidad:
- Clave
- Centro:
- IES ROSA CHACEL
- Duración:
- 19′ 48″
- Relación de aspecto:
- 1.78:1
- Resolución:
- 1920x1080 píxeles
- Tamaño:
- 103.23 MBytes