Saltar navegación

20250408 CorrecciónEx7abril_1 - 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.

9 visualizaciones

Descargar la transcripción

El resumen rápido está claro, si lo único que hemos hecho ha sido los eventos del menú, hacer visible lo que toque, los eventos del radio button, que es poner en el texto de la etiqueta el texto que toque poner en función del radio button seleccionado, añadir un grupo de botones para los botones, para que la interfaz sea más amigable y nos obligue a andar activando y desactivando a mano. 00:00:01
y luego ya para hacer el 00:00:26
evento de añadir tarea 00:00:29
hemos tenido que crearnos las tres clases 00:00:31
básicas, meeting, development y training 00:00:33
y ahora estábamos ya 00:00:35
estábamos ya con el evento 00:00:37
de añadir, que creaba 00:00:39
un objeto 00:00:41
meeting, development o training 00:00:42
en función de que radio 00:00:45
audio estuviera seleccionado y estábamos 00:00:47
en el punto en el cual la propiedad 00:00:49
identificador único teníamos que 00:00:51
generarla desde la aplicación, no la daba el usuario 00:00:53
entonces para que sea único 00:00:55
para todos los objetos 00:00:57
pues lo más fácil es declarar 00:00:59
una variable estática 00:01:01
por ejemplo yo me la estaba declarando 00:01:02
aquí mismo 00:01:05
una variable estática 00:01:06
secuencia identificador 00:01:08
por ejemplo 00:01:13
que inicialmente fuera 1 00:01:14
vale, entonces 00:01:20
ahora ya 00:01:22
cuando creamos un objeto del tipo que sea 00:01:23
efectivamente que ahora ya estamos aquí otra vez 00:01:26
primero 00:01:30
identificador único 00:01:31
set id 00:01:33
aquí tenemos que poner 00:01:35
como estamos en la misma clase 00:01:38
secuencia 00:01:39
sec 00:01:40
que listos sois 00:01:43
secuencia identificador más más 00:01:46
vale 00:01:49
y ahora ponemos las otras propiedades 00:01:50
que eran 00:01:53
tarea.setDescripción 00:01:54
es lo que esté 00:01:57
en el área de texto descripción 00:01:58
que como se llama ese área de texto 00:02:00
pues 00:02:03
texto descripción 00:02:05
así se llama 00:02:09
y el otro se llama 00:02:11
texto date pero podría ser 00:02:14
texto descripción 00:02:16
pues venga 00:02:18
textodescripcion.gettest. 00:02:26
Vale. 00:02:30
Pues muy bien. 00:02:33
Y ahora, 00:02:35
tarea.set 00:02:37
fecha 00:02:38
textodate.gettest. 00:02:40
¡Hala! 00:02:45
La tarea está, ¿verdad? 00:02:46
Ahora hay que meterla 00:02:49
en la caja donde las tenemos guardadas, 00:02:51
los meetings, 00:02:53
Para luego poder recuperarlas desde el otro panel. 00:02:54
Si no están guardadas en ningún sitio, 00:02:56
pues no podemos luego recuperarlas en las búsquedas. 00:02:58
¿Dónde tiene que estar guardado? 00:03:01
En un HashMap. 00:03:03
Pues, ¿qué hacemos? 00:03:04
¿Dónde ponemos el HashMap? 00:03:05
Lógicamente lo vamos a declarar aquí porque lo veo venir la 00:03:07
cantidad de vosotros que habréis declarado el HashMap aquí 00:03:09
dentro, por ejemplo. 00:03:12
Estoy segura de que unos cuantos. 00:03:14
Vale. 00:03:17
Entonces, habrá ahora que pensar, ¿vale? 00:03:19
¿Dónde declaro eso? 00:03:21
pues bueno, o hacéis una clase 00:03:22
aparte porque a lo mejor os es más organizado 00:03:24
que a lo mejor lo hacemos así 00:03:27
o si nos ponemos 00:03:28
y no queremos perder tiempo 00:03:31
también incluso aquí mismo, podríamos declarar 00:03:32
esos has map, nos da igual 00:03:34
incluso aquí, pues venga 00:03:36
los has map 00:03:39
aquí esta variable static, es que como 00:03:40
solo tengo una clase en la que lo hago todo 00:03:42
es que ni siquiera hace falta que se haga pública 00:03:44
es que la podría hacer hasta privada 00:03:46
también, esta variable estática, porque no estoy 00:03:48
estoy haciéndolo todo en la misma clase 00:03:50
feo, pero estoy en un examen, ¿qué pasa? 00:03:52
vale, pues entonces 00:03:55
aquí habrá 00:03:57
un map 00:03:58
integer meeting 00:04:03
y aquí van a 00:04:04
estar las 00:04:07
tareas meeting 00:04:07
ahí van a estar las tareas 00:04:11
meeting, que tiene que ser un new 00:04:12
hash map 00:04:14
ya está 00:04:16
qué sueño, ¿verdad? 00:04:19
lo poco que vais a durar 00:04:24
vosotros 00:04:28
en una empresa 00:04:28
bueno, los habrá mejores 00:04:30
vale, entonces desde el momento en que uno 00:04:35
instancia 00:04:37
una colección de estas 00:04:39
rápidamente ya le hace la conexión 00:04:41
le salta la conexión que tiene ya hecha 00:04:43
en las neuronas 00:04:45
le salta ese trigger, ¿habéis visto los triggers en bases de datos? 00:04:46
pues de repente 00:04:49
te salta ya 00:04:55
y te dice 00:04:55
oye, si voy a guardar cosas 00:04:58
en un hasmap 00:05:00
para que funcione correctamente y sin efectos 00:05:01
secundarios raros 00:05:04
asegúrate de que la clase de las 00:05:05
claves tiene hascode equals 00:05:08
porque si la clase de las claves no tiene 00:05:10
hascode equals, el map va a funcionar mal 00:05:12
va a meter cosas 00:05:14
que son la misma como si fueran distintas 00:05:16
y eso no lo queremos porque entonces la aplicación 00:05:18
va a tener ahí duplicados que no tienen ningún sentido 00:05:20
¿Integer tiene 00:05:23
Hasco de Equals? Sí, porque es una clase 00:05:24
que ya está hecha 00:05:26
entonces como Integer tiene Hasco de Equals 00:05:27
respiro y sigo 00:05:30
efectivamente 00:05:33
pues lo mismo 00:05:36
entonces al no haber herencia 00:05:37
esto es un rollo porque tenemos que hacer 3 Hasmap 00:05:40
si hubiera herencia y hubiera una única 00:05:42
super clase tarea haríamos un 00:05:44
único Hasmap con tarea 00:05:46
¿Verdad que sí? 00:05:48
Los que tienen que recuperar la RA6 00:05:49
Y RA4 00:05:51
00:05:53
Development 00:05:54
Y Training 00:06:00
Vale 00:06:03
Ah, la tenemos las tres jajas por separado 00:06:18
Que feo, porque luego cuando haya que buscar 00:06:20
Tenemos que buscar en las tres en secuencia 00:06:22
Pero bueno 00:06:23
vale, ahora ya que tenemos las cajitas 00:06:25
preparadas, podemos seguir con 00:06:27
nuestro evento de añadir 00:06:29
venga, nuestro evento de añadir, ¿qué tenía 00:06:30
que hacer? pues a nuestro 00:06:33
tareas 00:06:35
meeting 00:06:36
tenía que meterle 00:06:37
el identificador 00:06:43
tarea.get 00:06:45
y luego la propia tarea 00:06:48
¿vale? al meter el 00:06:50
identificador como clave 00:06:53
pues luego la búsqueda 00:06:54
si queremos buscar por ID va a ser mucho más fácil 00:06:56
que querremos buscar por ID 00:06:58
luego en el JList 00:07:00
vale, venga 00:07:01
ya está, y ahora los L6 00:07:03
es que son todos igualitos pero cambiando la tarea 00:07:08
o sea, un rollo al no ver herencia 00:07:10
realmente, porque si no 00:07:12
hacemos la tarea 00:07:14
bueno, a ver, no sé si 00:07:16
lo que hay dentro del if el save 00:07:22
se queda en una línea 00:07:32
vale 00:07:33
si el que está desarrollado 00:07:38
es el development 00:07:41
pues ahora 00:07:43
lo único es hacer los copias y pegas muy bien 00:07:46
Development, set fecha, set nombre, función y tareas development, new development. 00:07:49
bueno 00:08:17
todo el mundo enterado que luego decís que subo y bajo 00:08:21
muy rápido 00:08:23
vale 00:08:24
pues el mismo 00:08:31
el save pero si ahora está el de training 00:08:34
el mismito 00:08:36
pues venga 00:08:37
el mismito 00:08:42
cambiando esto 00:08:48
esto mismito en todas partes 00:08:53
si este es el que está seleccionado 00:08:58
esto se cambia 00:09:00
esto se cambia 00:09:03
este se cambia 00:09:05
por título 00:09:09
este se cambia 00:09:15
por training también 00:09:20
vale, entonces insisto 00:09:23
este if and save tan horrible 00:09:28
un ejemplo, vivir en las carnes 00:09:32
propias, porque 00:09:34
la herencia y la implementación de interfaces 00:09:36
es la base de cualquier desarrollo 00:09:38
desde luego 00:09:40
pues aquí podéis 00:09:43
hacerlo y debéis hacerlo todo lo que podáis 00:09:44
porque la 00:09:47
en España 00:09:48
en España no 00:09:49
Uy, en la Comunidad de Madrid lo tienes todo bonificado 00:09:51
Puedes dar lo que quieras 00:09:54
¿Alguien levanta la mano? 00:09:55
Sí, se puede hacer con un elset 00:09:59
¿Aquí? 00:10:01
Tanto cultura del esfuerzo 00:10:05
Para que luego digan que ven mal 00:10:07
El impuesto de la herencia 00:10:08
Tienes que pagar un porcentaje 00:10:09
De lo que hay de malo 00:10:17
O sea, quiero decir 00:10:18
No, yo me tengo que ganar las cosas 00:10:19
Claro, cúrratelo 00:10:21
Tus padres se han currado lo suyo 00:10:23
Pues ahora cúrrate tú lo tuyo 00:10:26
Así es, así 00:10:28
Venga, ya Juan 00:10:29
Vale 00:10:31
Pues del botón add 00:10:32
¿Nos falta algo? Yo creo que no 00:10:34
El botón añadir 00:10:38
Añadir la tarea y no nos dice 00:10:40
Que haga nada más 00:10:42
El botón añadir 00:10:42
No hace nada más 00:10:45
ahora ya, esto, lo que hemos hecho hasta ahora 00:10:47
lo más rápido de hacer, y reconoced que esto 00:10:49
se hacía muy rápido, si es que era sota caballo y rey 00:10:51
ahora el de buscar 00:10:53
pues bueno, quizá era un pelín más largo 00:10:54
pero vamos, era iterar por el map correspondiente 00:10:57
pegar en el modelo 00:10:59
del JList 00:11:01
y luego añadir el evento del JList 00:11:02
pues añadir 00:11:05
recuperar 00:11:06
dentro de, recuperar la propiedad que faltaba 00:11:10
vale, vamos a 00:11:13
ejecutarlo, aunque no vamos a comprobar 00:11:15
si realmente lo ha añadido, porque 00:11:17
no tenemos la de buscar, si podemos ver 00:11:19
si tenemos algún error de ejecución 00:11:21
o no, porque null pointer exception 00:11:24
nos puede salir por cualquier lado, se nos ha olvidado instanciar 00:11:25
una colección, entonces conviene 00:11:27
hacer una primera ejecución 00:11:29
venga, vamos a hacer una de desarrollo 00:11:31
nombre función, venga 00:11:33
vamos a dormir 00:11:35
descripción 00:11:36
pues dormir mucho 00:11:39
añadir 00:11:41
no ha salido error de ejecución 00:11:43
¿La ha añadido al HashMap? 00:11:45
No sabemos. 00:11:46
Porque te pone nervioso, ¿no? 00:11:47
Vale. 00:11:54
Bueno, en un examen se perdona. 00:11:55
Vale. 00:11:58
Pero, vale. 00:11:58
Pues ahora nos falta esto de aquí. 00:11:59
Estos son dos eventos. 00:12:01
Este. 00:12:03
Que uno antes de ponerse a teclear, 00:12:04
se hace una primera y luego tiene que hacer. 00:12:07
Pues search. 00:12:09
¿Vale? 00:12:10
¿Qué es lo que tiene que hacer? 00:12:11
En función de lo que haya aquí, 00:12:12
iterar 00:12:14
por el map correspondiente 00:12:16
y todos los elementos de la iteración 00:12:18
pegarlos al list, ya está, o sea es iterar 00:12:20
por un map o por los 00:12:22
tres en secuencia si hay un all 00:12:24
y el resultado de la iteración 00:12:25
meterlo en una lista, ya está 00:12:27
nada más, luego el search es muy fácil 00:12:30
y luego ya 00:12:32
el evento de la lista es el que esté 00:12:33
seleccionado, quedarte con el id 00:12:36
sacarlo del map correspondiente 00:12:37
y llevarlo ahí 00:12:40
vale, claro, entonces 00:12:41
el evento de la lista era el más 00:12:43
lioso 00:12:46
vale, era el más lioso 00:12:47
entonces 00:12:50
a ver, era el más 00:12:52
lioso porque 00:12:54
afortunadamente hicimos que 00:12:55
el identificador fuera único para 00:12:58
todos, porque entonces 00:13:00
buscas en los tres en secuencia y no, porque si no 00:13:02
tenías que distinguir en función del texto 00:13:04
si era meeting, si no lo era 00:13:06
y eso hubiera sido una locura, entonces dijimos 00:13:08
único para todos, entonces se quedaba mucho más fácil 00:13:09
era sacar del list 00:13:11
el identificador, hacer un get 00:13:13
en las listas 00:13:15
de secuencia y se acabó, era fácil 00:13:17
¿verdad? vais a comprobarlo 00:13:19
Cristian, tú también lo vas a comprobar y así 00:13:21
me vas a dejar de llorar tanto 00:13:23
porque sois 00:13:25
muy llorones, lloráis mucho 00:13:27
cosa que está muy 00:13:29
bien, pero hombre, por razones de 00:13:31
verdad, no por esto 00:13:33
sí, pero es que 00:13:35
¿para qué quieren mamar? 00:13:37
vamos a ver, venga 00:13:39
evento de 00:13:41
del panel 00:13:43
search 00:13:46
vale, evento este de aquí 00:13:50
el evento del botón 00:13:53
pues ahora hay que ver 00:13:59
pues cuatro, un if, el save 00:14:01
con cuatro, ver cuál está del combo box 00:14:04
en función de si trae en el map y se acabó 00:14:06
pues esto es un rollo porque hay que 00:14:08
hacer un if, el save 00:14:10
¿esto cómo se llamaba? 00:14:11
que por atrás es fea 00:14:13
claro que es fea 00:14:16
claro, pero es que 00:14:18
claro, pero es que una aplicación 00:14:20
bonita para un examen 00:14:22
se complica, porque hay que entender 00:14:23
más clases, entonces aquí está 00:14:26
todo más compacto y también, hombre 00:14:28
queremos un poco complicaros la vida 00:14:30
¿es un fantasma o es un humano? 00:14:31
es la drónica, ¿no? 00:14:33
pasa, pasa, pasa 00:14:35
a ver, un momento, un momento 00:14:37
relajaos un poquito 00:14:39
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:
9
Fecha:
17 de abril de 2025 - 18:21
Visibilidad:
Clave
Centro:
IES ROSA CHACEL
Duración:
14′ 42″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
74.13 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid