Saltar navegación

20250408 CorrecciónEx7abril_2 - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 17 de abril de 2025 por Raquel G.

2 visualizaciones

Descargar la transcripción

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
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
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
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
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
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

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid