20250408 CorrecciónEx7abril_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:
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
id
00:01:43
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
de
00:03:59
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
ay
00:04:24
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
Sí
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
un
00:06:41
el identificador
00:06:43
tarea.get
00:06:45
id
00:06:47
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
uy
00:08:40
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
y
00:09:11
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
es
00:09:30
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