1 00:00:01,780 --> 00:00:10,419 Vale, entonces esta clase es la que os dábamos hecha y es la clase que tiene las medicaciones de esa persona. 2 00:00:11,019 --> 00:00:21,079 Las medicaciones son las claves y las tomas son cada medicación, cada medicación tiene asociado un objeto toma 3 00:00:21,079 --> 00:00:27,899 y el objeto toma incluye los días de la semana que se la tiene que tomar y cuántos comprimidos, ¿vale? 4 00:00:27,899 --> 00:00:30,899 entonces esta clase es la que se supone 5 00:00:30,899 --> 00:00:31,600 que el médico 6 00:00:31,600 --> 00:00:33,380 ha construido 7 00:00:33,380 --> 00:00:38,799 el médico es el que ha rellenado 8 00:00:38,799 --> 00:00:40,759 el que con la otra 9 00:00:40,759 --> 00:00:42,820 parte de la aplicación que lógicamente 10 00:00:42,820 --> 00:00:44,939 no tenía sentido hacer vosotros silencio 11 00:00:44,939 --> 00:00:46,579 porque era muy larga 12 00:00:46,579 --> 00:00:48,740 pues con esa otra parte de la aplicación 13 00:00:48,740 --> 00:00:50,679 el médico ha metido para 14 00:00:50,679 --> 00:00:52,799 la persona tal sus medicaciones 15 00:00:52,799 --> 00:00:54,740 los días, el número 16 00:00:54,740 --> 00:00:56,259 de comprimidos y eso 17 00:00:56,259 --> 00:00:58,979 ha generado que exista este map 18 00:00:58,979 --> 00:01:02,100 y ya la aplicación nuestra tira de este map 19 00:01:02,100 --> 00:01:04,439 entonces yo lo que os daba era este método 20 00:01:04,439 --> 00:01:07,500 que ya daba unas medicaciones metidas 21 00:01:07,500 --> 00:01:11,260 para cada una de ellas una cantidad de comprimidos 22 00:01:11,260 --> 00:01:14,120 y para cada una de ellas los días a la semana 23 00:01:14,120 --> 00:01:15,359 que tocaba esa medicación 24 00:01:15,359 --> 00:01:17,180 esos son los datos que ha metido el médico 25 00:01:17,180 --> 00:01:21,340 entonces este método rellenar medicaciones 26 00:01:21,340 --> 00:01:24,799 servía simplemente para ir metiendo en ese map 27 00:01:24,799 --> 00:01:27,159 todas las medicaciones 28 00:01:27,159 --> 00:01:29,219 su nombre, para cada una de ellas 29 00:01:29,219 --> 00:01:30,599 su nombre, que es la clave 30 00:01:30,599 --> 00:01:33,480 y la toma correspondiente 31 00:01:33,480 --> 00:01:34,420 a esa medicación 32 00:01:34,420 --> 00:01:37,079 la toma de una medicación incluye 33 00:01:37,079 --> 00:01:39,159 cuántos comprimidos y los días 34 00:01:39,159 --> 00:01:40,140 de la semana que toca 35 00:01:40,140 --> 00:01:43,629 entonces esta clase está clara 36 00:01:43,629 --> 00:01:45,590 lo que hacía, construía el map 37 00:01:45,590 --> 00:01:47,950 metiendo para cada medicación 38 00:01:47,950 --> 00:01:49,129 la toma 39 00:01:49,129 --> 00:01:52,150 vale, pues entonces lo que tenemos que hacer es 40 00:01:52,150 --> 00:01:53,290 las clases que nos pedía 41 00:01:53,290 --> 00:01:56,209 que era la clase toma imprescindible 42 00:01:56,209 --> 00:01:57,810 entonces 43 00:01:57,810 --> 00:01:58,989 esta clase 44 00:01:58,989 --> 00:02:07,280 tenía una propiedad 45 00:02:07,280 --> 00:02:09,120 que era el número de comprimidos 46 00:02:09,120 --> 00:02:13,909 int 47 00:02:13,909 --> 00:02:18,430 y otra propiedad que eran los días 48 00:02:18,430 --> 00:02:20,310 por semana, los días a la semana 49 00:02:20,310 --> 00:02:22,050 que se toma, que puede que no sean todos 50 00:02:22,050 --> 00:02:24,289 entonces la forma de meter 51 00:02:24,289 --> 00:02:26,310 esa información era mediante un string 52 00:02:26,310 --> 00:02:28,349 que recogía esos días 53 00:02:28,349 --> 00:02:30,330 lunes, miércoles o jueves, lunes, martes o jueves 54 00:02:30,330 --> 00:02:31,250 separados por guiones 55 00:02:31,250 --> 00:02:32,530 Jolines 56 00:02:32,530 --> 00:02:40,650 Vale, pues entonces aquí 57 00:02:40,650 --> 00:02:42,169 Si hacemos lo estándar 58 00:02:42,169 --> 00:02:44,849 Que es generar constructores 59 00:02:44,849 --> 00:02:46,009 Y getter y setter 60 00:02:46,009 --> 00:02:48,830 Pues ya está, lo dejamos lista 61 00:02:48,830 --> 00:03:03,460 Vale, entonces esta ya se nos quita acá 62 00:03:03,460 --> 00:03:05,120 El error de compilación 63 00:03:05,120 --> 00:03:07,000 Bueno, pues entonces 64 00:03:07,000 --> 00:03:08,400 Luego nuestra aplicación 65 00:03:08,400 --> 00:03:11,020 Se supone que va a funcionar 66 00:03:11,020 --> 00:03:11,879 Como dice aquí 67 00:03:11,879 --> 00:03:21,599 Que es el usuario va a seleccionar 68 00:03:21,599 --> 00:03:23,439 de este combo box un día de los 69 00:03:23,439 --> 00:03:25,560 siete que hay en el combo box 70 00:03:25,560 --> 00:03:27,039 cuando se despliega 71 00:03:27,039 --> 00:03:29,099 de los siete va a seleccionar un día 72 00:03:29,099 --> 00:03:31,500 y con ese día va a trabajar aquí 73 00:03:31,500 --> 00:03:33,680 va a trabajar para poner el listado 74 00:03:33,680 --> 00:03:34,960 de medicaciones que toman 75 00:03:34,960 --> 00:03:37,419 para cuando le demos a tomar medicación 76 00:03:37,419 --> 00:03:38,439 cambiar la información 77 00:03:38,439 --> 00:03:41,819 pero todo eso para el día en el que yo esté trabajando 78 00:03:41,819 --> 00:03:43,539 que el señor 79 00:03:43,539 --> 00:03:45,280 se levanta el día siguiente y es jueves 80 00:03:45,280 --> 00:03:47,659 pues volverá a cambiarlo y marcará el combo box 81 00:03:47,659 --> 00:03:49,639 jueves y entonces ya 82 00:03:49,639 --> 00:03:51,900 la aplicación trabajará con ese nuevo día 83 00:03:51,900 --> 00:03:54,240 con la información asociada a ese día 84 00:03:54,240 --> 00:03:56,159 entonces, para eso 85 00:03:56,159 --> 00:03:58,259 esta aplicación 86 00:03:58,259 --> 00:03:59,960 se podría haber diseñado 87 00:03:59,960 --> 00:04:01,719 de muchas maneras para hacer esto mismo 88 00:04:01,719 --> 00:04:04,099 se podría haber diseñado 89 00:04:04,099 --> 00:04:06,319 de muchas maneras, entonces la forma en la que 90 00:04:06,319 --> 00:04:08,240 pensamos 91 00:04:08,240 --> 00:04:09,900 es, vamos a diseñarla de tal forma que 92 00:04:09,900 --> 00:04:10,939 exista un objeto día 93 00:04:10,939 --> 00:04:13,939 que ese objeto me recoja toda 94 00:04:13,939 --> 00:04:15,759 la información relacionada con ese día 95 00:04:15,759 --> 00:04:17,740 las medicaciones que se tiene que tomar 96 00:04:17,740 --> 00:04:18,759 si están tomadas o no 97 00:04:18,759 --> 00:04:21,600 ¿Vale? Es una forma de diseñar esta aplicación 98 00:04:21,600 --> 00:04:25,779 Como el usuario va a trabajar en un día en concreto 99 00:04:25,779 --> 00:04:27,980 En un día que va a seleccionar en el combo box 100 00:04:27,980 --> 00:04:31,199 Pues un diseño será, vale, pues créate una clase día 101 00:04:31,199 --> 00:04:34,899 Que recoge la información del día concreto en el que estás 102 00:04:34,899 --> 00:04:37,139 Toda la información que la aplicación necesita 103 00:04:37,139 --> 00:04:39,779 Bueno, pues esa es la siguiente clase que pedía 104 00:04:39,779 --> 00:04:41,620 El enunciado 105 00:04:41,620 --> 00:04:44,019 ¿Qué es la clase día? 106 00:04:45,160 --> 00:04:47,079 ¿Qué sirve para recoger esa información? 107 00:04:47,079 --> 00:04:49,240 pues el estado en el que están las tomas 108 00:04:49,240 --> 00:04:51,160 de ese día en concreto que acabas de seleccionar 109 00:04:51,160 --> 00:04:53,120 bueno, pues entonces 110 00:04:53,120 --> 00:04:54,879 esta clase día 111 00:04:54,879 --> 00:04:56,279 ¿qué propiedades tendrás? 112 00:04:56,600 --> 00:04:58,779 el día en el que estás 113 00:04:58,779 --> 00:05:01,160 si es lunes, martes, miércoles, el día en el que estás 114 00:05:01,160 --> 00:05:03,459 la lista de las medicaciones 115 00:05:03,459 --> 00:05:05,079 que te tocan para ese día 116 00:05:05,079 --> 00:05:07,439 y otra lista 117 00:05:07,439 --> 00:05:09,160 que indica mediante 118 00:05:09,160 --> 00:05:11,000 ceros o unos si esa 119 00:05:11,000 --> 00:05:13,180 medicación en esa posición se ha tomado 120 00:05:13,180 --> 00:05:14,459 o no, ¿vale? 121 00:05:14,459 --> 00:05:17,480 O sea, un string para el nombre y dos listas 122 00:05:17,480 --> 00:05:19,579 Pues venga, vamos a hacer 123 00:05:19,579 --> 00:05:20,740 Esa clase 124 00:05:20,740 --> 00:05:37,720 Vale, pues entonces 125 00:05:37,720 --> 00:05:40,779 Este es el nombre del día 126 00:05:40,779 --> 00:05:41,459 En el que estás 127 00:05:41,459 --> 00:05:43,040 Pues no sé cómo 128 00:05:43,040 --> 00:05:46,680 Día-semana, vamos a llamarlo 129 00:05:46,680 --> 00:05:48,519 Día-semana, porque esto va a recoger 130 00:05:48,519 --> 00:05:50,620 O lunes, martes, miércoles 131 00:05:50,620 --> 00:05:51,720 Jueves, viernes, sábado y domingo 132 00:05:51,720 --> 00:05:53,980 Vale 133 00:05:53,980 --> 00:05:57,220 Hay que declararlo como string 134 00:05:57,220 --> 00:05:59,639 Porque lunes, martes, miércoles, jueves, viernes 135 00:05:59,639 --> 00:06:01,019 es un string, es una cadena 136 00:06:01,019 --> 00:06:02,480 lo que pasa es que está 137 00:06:02,480 --> 00:06:08,420 días, semanas 138 00:06:08,420 --> 00:06:10,000 sí, quizás es un nombre, días, semana 139 00:06:10,000 --> 00:06:11,740 porque esta es el listado de días a la semana 140 00:06:11,740 --> 00:06:13,740 que se toma el medicamento 141 00:06:13,740 --> 00:06:18,019 vale, entonces en realidad 142 00:06:18,019 --> 00:06:20,180 cuando una variable 143 00:06:20,180 --> 00:06:22,879 puede tomar sólo un conjunto 144 00:06:22,879 --> 00:06:24,699 posible de valores 145 00:06:24,699 --> 00:06:25,459 finito 146 00:06:25,459 --> 00:06:28,519 hay un tipo específico 147 00:06:28,519 --> 00:06:30,399 para ella que es el tipo 148 00:06:30,399 --> 00:06:32,379 numerado, los enumerados no los hemos visto 149 00:06:32,379 --> 00:06:33,959 por falta de tiempo, no sé si 150 00:06:33,959 --> 00:06:36,500 pero que os suenen, es una tontería 151 00:06:36,500 --> 00:06:37,680 este es un ejemplo 152 00:06:37,680 --> 00:06:40,319 esta propiedad yo sé que solamente 153 00:06:40,319 --> 00:06:42,500 puede tener 7 posibles valores 154 00:06:42,500 --> 00:06:44,560 y solo 7, lunes, martes 155 00:06:44,560 --> 00:06:45,959 miércoles, jueves, viernes, sábado y domingo 156 00:06:45,959 --> 00:06:47,579 entonces aquí 157 00:06:47,579 --> 00:06:50,439 lo que se haría sería hacerse 158 00:06:50,439 --> 00:06:52,399 un enumerado con 7 159 00:06:52,399 --> 00:06:54,620 posibles valores, lunes, martes, miércoles 160 00:06:54,620 --> 00:06:55,519 jueves, viernes, sábado y domingo 161 00:06:55,519 --> 00:06:58,540 y ahora decir que esta propiedad pertenece 162 00:06:58,540 --> 00:06:59,480 a ese enumerado 163 00:06:59,480 --> 00:07:02,160 ¿vale? para que os suene que es esto de enumerado 164 00:07:02,160 --> 00:07:03,220 que es un concepto que bueno 165 00:07:03,220 --> 00:07:07,839 que no es difícil de entender 166 00:07:07,839 --> 00:07:10,120 entonces eso sería una mejor opción 167 00:07:10,120 --> 00:07:11,680 porque si lo dejamos así 168 00:07:11,680 --> 00:07:14,120 cualquier cosa que sea un stream 169 00:07:14,120 --> 00:07:15,860 es válida para día a semana 170 00:07:15,860 --> 00:07:16,680 si yo pongo ahí 171 00:07:16,680 --> 00:07:19,379 pues es válido para día a semana 172 00:07:19,379 --> 00:07:21,939 entonces la aplicación puede 173 00:07:21,939 --> 00:07:24,279 que tenga más errores luego a la hora de ejecutarse 174 00:07:24,279 --> 00:07:27,879 entonces sería mejor, repito, hacerse ese 175 00:07:27,879 --> 00:07:29,360 tipo enumerado que te dice 176 00:07:29,360 --> 00:07:31,379 cuidado, este tipo solo puede tener 177 00:07:31,379 --> 00:07:33,019 7 posibilidades 178 00:07:33,019 --> 00:07:35,300 Lunes, martes, miércoles, jueves, viernes, sábado y domingo 179 00:07:35,300 --> 00:07:37,240 Y ahora mi variable día-semana 180 00:07:37,240 --> 00:07:38,600 Que pertenezca a ese numerado 181 00:07:38,600 --> 00:07:40,819 ¿Vale? Entonces que suene el término numerado 182 00:07:40,819 --> 00:07:42,279 Que es un término de programación de toda la vida 183 00:07:42,279 --> 00:07:44,199 Y si nos diera tiempo en algún momento 184 00:07:44,199 --> 00:07:47,180 Pues lo contaríamos en 5 minutos 185 00:07:47,180 --> 00:07:47,699 Nada más 186 00:07:47,699 --> 00:07:49,879 Bueno, pues una propiedad es día-la-semana 187 00:07:49,879 --> 00:07:53,160 La otra, el listado de las medicaciones 188 00:07:53,160 --> 00:07:54,319 Que tiene que tomar ese día 189 00:07:54,319 --> 00:07:57,019 Las medicaciones son 190 00:07:57,019 --> 00:07:57,879 Un string 191 00:07:57,879 --> 00:08:00,079 Los nombres de las medicaciones van un string 192 00:08:00,079 --> 00:08:03,300 Medicaciones que tiene que tomar ese día 193 00:08:03,300 --> 00:08:04,920 Como es una lista 194 00:08:04,920 --> 00:08:07,199 De nuevo, pues 195 00:08:07,199 --> 00:08:09,699 Mejor si la dejamos inicializada 196 00:08:09,699 --> 00:08:13,779 Para evitar null pointer exception 197 00:08:13,779 --> 00:08:14,540 Y esas cosas 198 00:08:14,540 --> 00:08:19,720 Y luego, otra lista 199 00:08:19,720 --> 00:08:22,660 Que esta será de numeritos enteros 200 00:08:22,660 --> 00:08:24,600 Para indicar si la medicación 201 00:08:24,600 --> 00:08:25,560 Está tomada o no 202 00:08:25,560 --> 00:08:31,319 Esta lista, pues yo que sé 203 00:08:31,319 --> 00:08:34,720 Con el nombre que a uno más le guste 204 00:08:34,720 --> 00:08:51,879 bueno, pues es una forma de recoger 205 00:08:51,879 --> 00:08:52,539 esta información 206 00:08:52,539 --> 00:08:56,000 ¿vale? se podría haber recogido 207 00:08:56,000 --> 00:08:57,720 de otra manera, hacer otro map 208 00:08:57,720 --> 00:08:59,600 en el cual la clave 209 00:08:59,600 --> 00:09:01,720 fuera el nombre de medicación, string 210 00:09:01,720 --> 00:09:03,519 y el valor fuera el entero 211 00:09:03,519 --> 00:09:05,639 0 o 1 para indicar si está tomada o no 212 00:09:05,639 --> 00:09:07,840 por ejemplo, pero bueno, para no repetir 213 00:09:07,840 --> 00:09:09,220 tanto lo del map y todo eso 214 00:09:09,220 --> 00:09:11,580 pues pusimos dos listas 215 00:09:11,580 --> 00:09:13,679 que recogen 216 00:09:13,679 --> 00:09:14,559 esa información 217 00:09:14,559 --> 00:09:17,919 de alguna manera 218 00:09:17,919 --> 00:09:19,480 como si la recogieran en paralelo 219 00:09:19,480 --> 00:09:21,679 la medicación que está en la posición 1 220 00:09:21,679 --> 00:09:22,639 está tomada o no 221 00:09:22,639 --> 00:09:25,179 según el numerito que está en la posición 1 222 00:09:25,179 --> 00:09:26,340 de la lista tomadas 223 00:09:26,340 --> 00:09:28,320 0 si no lo está, 1 si sí 224 00:09:28,320 --> 00:09:31,039 bueno, pues el día tiene esta información 225 00:09:31,039 --> 00:09:32,500 ya está 226 00:09:32,500 --> 00:09:34,340 en qué día estamos 227 00:09:34,340 --> 00:09:36,460 cuántas medicaciones tocan ese día 228 00:09:36,460 --> 00:09:37,899 y si están tomadas o no 229 00:09:37,899 --> 00:09:41,120 y ahora ya, cuando tengamos este objeto 230 00:09:41,120 --> 00:09:43,600 la aplicación ya leerá de él 231 00:09:43,600 --> 00:09:45,320 para colocar aquí 232 00:09:45,320 --> 00:09:46,279 lo que tenga que colocar 233 00:09:46,279 --> 00:09:48,220 si ese objeto ya lo tenemos 234 00:09:48,220 --> 00:09:50,200 que era lo primero que pedía la aplicación, instanciar 235 00:09:50,200 --> 00:09:52,000 ese objeto cuando se ha seleccionado un día 236 00:09:52,000 --> 00:09:53,940 pues de ese objeto se lera 237 00:09:53,940 --> 00:09:56,019 para escribir 238 00:09:56,019 --> 00:09:57,460 ya estoy aquí, y ya está 239 00:09:57,460 --> 00:10:00,059 de esas listas podremos leer 240 00:10:00,059 --> 00:10:01,419 y colocar ahí en el 241 00:10:01,419 --> 00:10:04,340 vale, bueno, pues entonces 242 00:10:04,340 --> 00:10:05,940 esto 243 00:10:05,940 --> 00:10:07,879 le vamos a hacer un constructor 244 00:10:07,879 --> 00:10:10,220 vamos a hacerle 245 00:10:10,220 --> 00:10:11,700 un constructor con el día de la semana 246 00:10:11,700 --> 00:10:13,299 y 247 00:10:13,299 --> 00:10:17,919 si luego según hacemos la aplicación 248 00:10:17,919 --> 00:10:19,580 nos viene bien hacerle algún otro 249 00:10:19,580 --> 00:10:21,679 pues siempre se pueden ir añadiendo constructores 250 00:10:21,679 --> 00:10:30,490 y Getty Set para todo 251 00:10:30,490 --> 00:10:37,990 ala 252 00:10:37,990 --> 00:10:40,230 entonces aquí 253 00:10:40,230 --> 00:10:42,470 en realidad con único objetivo de meterlo 254 00:10:42,470 --> 00:10:43,789 de la lencia un poco a calzador 255 00:10:43,789 --> 00:10:48,730 en esta aplicación se supone 256 00:10:48,730 --> 00:10:50,490 que hay un día de los 7 257 00:10:50,490 --> 00:10:52,269 que es un día especial 258 00:10:52,269 --> 00:10:54,610 que es el día en el cual la aplicación te va a 259 00:10:54,610 --> 00:10:55,330 recordar 260 00:10:55,330 --> 00:10:58,429 acuérdate de pedir revisar 261 00:10:58,429 --> 00:10:59,830 la medicación para la semana que viene 262 00:10:59,830 --> 00:11:02,289 porque cada semana la medicación 263 00:11:02,289 --> 00:11:04,110 los días que se toma, el número de comprimidos 264 00:11:04,110 --> 00:11:04,690 puede cambiar 265 00:11:04,690 --> 00:11:08,029 porque aquí tal y como está la aplicación planteada 266 00:11:08,029 --> 00:11:09,990 tú tienes los 7 días 267 00:11:09,990 --> 00:11:11,769 de una semana 268 00:11:11,769 --> 00:11:13,649 estoy el lunes, te lo dice 269 00:11:13,649 --> 00:11:16,470 entonces para la semana siguiente puede que cambie 270 00:11:16,470 --> 00:11:18,129 entonces hay un día 271 00:11:18,129 --> 00:11:19,289 que es el día 272 00:11:19,289 --> 00:11:22,210 que si te colocas en él, la aplicación se va a ir 273 00:11:22,210 --> 00:11:23,549 encargando de recordarte 274 00:11:23,549 --> 00:11:26,230 revisa para la semana que viene 275 00:11:26,230 --> 00:11:27,409 revisa para la semana que viene 276 00:11:27,409 --> 00:11:29,129 bueno, pues ese día 277 00:11:29,129 --> 00:11:33,029 ese día se recoge una clase especial 278 00:11:33,029 --> 00:11:35,289 en una clase que hereda de día normal 279 00:11:35,289 --> 00:11:36,909 pero que añade un mensajito 280 00:11:36,909 --> 00:11:39,049 un mensajito, una propiedad mensajito 281 00:11:39,049 --> 00:11:41,110 que es el mensaje que la aplicación te va a mostrar 282 00:11:41,110 --> 00:11:46,299 bueno pues entonces eso se traducía en el diseño 283 00:11:46,299 --> 00:11:49,039 se traducía en el diseño que hay una clase 284 00:11:49,039 --> 00:11:52,919 día recordatorio que hereda de la anterior 285 00:11:52,919 --> 00:11:55,740 y tiene una propiedad más que es el mensaje 286 00:11:55,740 --> 00:11:57,440 que la aplicación va a mostrar 287 00:11:57,440 --> 00:12:01,799 Pues entonces 288 00:12:01,799 --> 00:12:04,659 Hacemos una clase 289 00:12:04,659 --> 00:12:15,830 Que herede de día 290 00:12:15,830 --> 00:12:17,250 Porque los días de recordatorio 291 00:12:17,250 --> 00:12:19,250 Son días que tienen sus medicaciones 292 00:12:19,250 --> 00:12:20,269 Sus tomas, todo 293 00:12:20,269 --> 00:12:22,190 Lo tienen todo como los demás 294 00:12:22,190 --> 00:12:24,750 Lo que pasa es que además los días de recordatorio 295 00:12:24,750 --> 00:12:26,730 Tienen un mensajito dentro configurado 296 00:12:26,730 --> 00:12:28,730 Que la aplicación va a mostrar 297 00:12:28,730 --> 00:12:30,830 Entonces 298 00:12:30,830 --> 00:12:44,940 Vale 299 00:12:44,940 --> 00:12:48,179 Pues entonces, como no tengo constructor sin parámetros 300 00:12:48,179 --> 00:12:49,679 Por eso es por lo que me dice aquí 301 00:12:49,679 --> 00:12:51,259 Al no tener constructor 302 00:12:51,259 --> 00:12:52,480 Se supone que tienes el 303 00:12:52,480 --> 00:12:55,360 Con parámetros, perdón, el sin parámetros 304 00:12:55,360 --> 00:12:57,100 Pero el sin parámetros por defecto 305 00:12:57,100 --> 00:12:59,399 Hace el super de arriba y aquí no tenemos 306 00:12:59,399 --> 00:13:00,220 El sin parámetros 307 00:13:00,220 --> 00:13:03,139 Bueno, este error de compilación viene de ahí 308 00:13:03,139 --> 00:13:04,620 Entonces 309 00:13:04,620 --> 00:13:06,580 Voy a hacerlo un constructor 310 00:13:06,580 --> 00:13:08,139 Y ya está 311 00:13:08,139 --> 00:13:13,360 Un constructor 312 00:13:13,360 --> 00:13:17,379 Que invoque a este 313 00:13:17,379 --> 00:13:18,639 De arriba 314 00:13:18,639 --> 00:13:20,120 Vale, y ya está 315 00:13:20,120 --> 00:13:25,779 Vale, y le voy a hacer un get y el set para lo de arriba 316 00:13:25,779 --> 00:13:31,259 para la propiedad nueva 317 00:13:31,259 --> 00:13:37,919 Sí, lo he hecho con el día de la semana 318 00:13:37,919 --> 00:13:39,279 para no meter ahí dos lists 319 00:13:39,279 --> 00:13:40,200 que siempre es muy pesado 320 00:13:40,200 --> 00:13:41,820 si luego según uno va haciendo la aplicación 321 00:13:41,820 --> 00:13:43,019 resulta que le viene bien 322 00:13:43,019 --> 00:13:45,259 tener un constructor que meta otras cosas 323 00:13:45,259 --> 00:13:46,360 pues lo añades luego 324 00:13:46,360 --> 00:13:49,240 de hecho no estoy haciendo constructores 325 00:13:49,240 --> 00:13:50,299 sin parámetros tampoco 326 00:13:50,299 --> 00:13:52,539 y luego siempre viene muy bien 327 00:13:52,539 --> 00:13:53,480 tener un sin parámetros 328 00:13:53,480 --> 00:13:55,279 para instanciar un objeto sin propiedades 329 00:13:55,279 --> 00:13:56,200 y luego dárselas 330 00:13:56,200 --> 00:13:58,120 bueno, según vayamos a la aplicación 331 00:13:58,120 --> 00:14:00,179 si nos van haciendo faltas los podemos ir poniendo 332 00:14:00,179 --> 00:14:04,289 vale, bueno, pues las clases ya están 333 00:14:04,289 --> 00:14:06,149 y más o menos lo que significa 334 00:14:06,149 --> 00:14:08,389 cada clase y para que sea hecho en el diseño 335 00:14:08,389 --> 00:14:09,429 más o menos lo tenemos claro 336 00:14:09,429 --> 00:14:12,549 ahora ya lo que tenemos es que hacer una aplicación 337 00:14:12,549 --> 00:14:13,409 que gestione 338 00:14:13,409 --> 00:14:16,210 las medicaciones que se toman los diferentes 339 00:14:16,210 --> 00:14:18,289 días de la semana, cada día de la 340 00:14:18,289 --> 00:14:20,269 semana se va a corresponder con un objeto día 341 00:14:20,269 --> 00:14:21,690 vale 342 00:14:21,690 --> 00:14:24,129 y a través de 343 00:14:24,129 --> 00:14:25,889 el map de medicaciones 344 00:14:25,889 --> 00:14:28,509 pues podremos ir sacando 345 00:14:28,509 --> 00:14:30,750 la información 346 00:14:30,750 --> 00:14:32,250 a mostrar en la interfaz 347 00:14:32,250 --> 00:14:35,009 bueno, pues ahora ya que tenemos las clases 348 00:14:35,009 --> 00:14:36,409 y más o menos entendemos 349 00:14:36,409 --> 00:14:38,070 por qué están hechas así 350 00:14:38,070 --> 00:14:39,690 qué información recogen 351 00:14:39,690 --> 00:14:42,509 y qué papel juegan en mi aplicación 352 00:14:42,509 --> 00:14:44,250 ahora ya vamos a hacer 353 00:14:44,250 --> 00:14:45,509 la interfaz 354 00:14:45,509 --> 00:14:47,629 y luego ya le damos comportamiento 355 00:14:47,629 --> 00:14:50,730 entonces aquí, si no me he salto nada 356 00:14:50,730 --> 00:14:52,190 tenemos las clases hechas 357 00:14:52,190 --> 00:14:56,870 y ahora los datos se recogen en un map 358 00:14:56,870 --> 00:14:57,970 que eso ya lo tenemos hecho 359 00:14:57,970 --> 00:15:00,409 y ahora 360 00:15:00,409 --> 00:15:02,809 empieza la aplicación, la aplicación 361 00:15:02,809 --> 00:15:04,889 es una interfaz gráfica con un comportamiento 362 00:15:04,889 --> 00:15:07,110 asociado, entonces más o menos 363 00:15:07,110 --> 00:15:08,809 antes de empezar a hacer nada, pues claro 364 00:15:08,809 --> 00:15:09,730 uno tiene que entender 365 00:15:09,730 --> 00:15:13,009 en qué consiste la aplicación 366 00:15:13,009 --> 00:15:14,970 pues en este caso la aplicación es simplemente 367 00:15:14,970 --> 00:15:17,730 esto 368 00:15:17,730 --> 00:15:20,389 seleccionarás en un combo box un día de la semana 369 00:15:20,389 --> 00:15:22,269 cuando lo selecciones 370 00:15:22,269 --> 00:15:24,049 se construirá ese objeto día 371 00:15:24,049 --> 00:15:26,549 con la información de las tomas 372 00:15:26,549 --> 00:15:28,409 para ese día y de las medicaciones 373 00:15:28,409 --> 00:15:30,309 habrá que tirar del map para construir 374 00:15:30,309 --> 00:15:31,610 eso, habrá que tirar del map 375 00:15:31,610 --> 00:15:34,230 cuando lo tenga se pone en el área de texto esta 376 00:15:34,230 --> 00:15:36,230 y ya está, el evento del combo box 377 00:15:36,230 --> 00:15:36,809 va a ser ese 378 00:15:36,809 --> 00:15:40,549 y ahora que yo me voy a tomar una, pongo el nombrecito 379 00:15:40,549 --> 00:15:42,070 en el área de texto 380 00:15:42,070 --> 00:15:43,710 le doy a tomar y ya está 381 00:15:43,710 --> 00:15:45,950 y me cambia en el área de texto automáticamente 382 00:15:45,950 --> 00:15:48,350 me cambia ahí, y ya tengo ahí siempre recogido 383 00:15:48,350 --> 00:15:49,470 pues para ese día 384 00:15:49,470 --> 00:15:52,029 vale, pues entonces, más o menos entendido 385 00:15:52,029 --> 00:15:52,789 lo que hay que hacer 386 00:15:52,789 --> 00:15:56,029 construimos la interfaz gráfica 387 00:15:56,029 --> 00:15:58,470 que eso es lo más sencillo, y luego ya damos comportamiento 388 00:15:58,470 --> 00:16:00,509 a los componentes que lo tengan 389 00:16:00,509 --> 00:16:02,730 Que en este caso es el combo box 390 00:16:02,730 --> 00:16:04,470 Porque según yo cambie de día 391 00:16:04,470 --> 00:16:06,289 Me cambia el enlistado de abajo 392 00:16:06,289 --> 00:16:08,750 ¿Y qué otra cosa? El botón 393 00:16:08,750 --> 00:16:10,929 Ya está, dos listeners 394 00:16:10,929 --> 00:16:12,509 Para el combo box y para el botón 395 00:16:12,509 --> 00:16:15,649 Pues venga, lo siguiente entonces es hacer ya la interfaz 396 00:16:15,649 --> 00:16:18,289 Pues ahora nos hacemos aquí 397 00:16:18,289 --> 00:16:21,570 Un nuevo frame 398 00:16:21,570 --> 00:16:54,029 Vale, pues este es nuestro frame 399 00:16:54,029 --> 00:16:55,870 En este caso 400 00:16:55,870 --> 00:16:57,909 La interfaz gráfica es 401 00:16:57,909 --> 00:17:00,549 Panel para poner los botoncitos 402 00:17:00,549 --> 00:17:02,610 y listo, no tiene más rollo 403 00:17:02,610 --> 00:17:04,930 pues venga, nos cortamos el panel 404 00:17:04,930 --> 00:17:06,490 le ponemos 405 00:17:06,490 --> 00:17:08,269 el gestor absoluto 406 00:17:08,269 --> 00:17:10,369 y empezamos a poner 407 00:17:10,369 --> 00:17:12,130 los componentes 408 00:17:12,130 --> 00:17:16,309 seleccione día para ver 409 00:17:16,309 --> 00:17:18,730 sus medicaciones, una primera etiqueta 410 00:17:18,730 --> 00:17:20,509 pues venga 411 00:17:20,509 --> 00:17:26,319 bolines 412 00:17:26,319 --> 00:17:28,859 una primera etiqueta ahí 413 00:17:28,859 --> 00:17:38,589 etiqueta 414 00:17:38,589 --> 00:17:40,609 uno, la voy a llamar, porque esta etiqueta no la vamos a 415 00:17:40,609 --> 00:17:42,549 usar luego para nada, entonces tampoco hace falta 416 00:17:42,549 --> 00:17:43,730 Por un nombre muy explicativo 417 00:17:43,730 --> 00:17:45,950 Y ahora el texto que va a tener 418 00:17:45,950 --> 00:17:47,690 Se lo cambiamos abajo a 419 00:17:47,690 --> 00:17:50,670 Seleccione día 420 00:17:50,670 --> 00:17:51,609 Para 421 00:17:51,609 --> 00:17:55,230 Ver sus medicaciones 422 00:17:55,230 --> 00:17:58,630 Ahora la etiqueta esta ya la tenemos 423 00:17:58,630 --> 00:18:02,359 Ahora 424 00:18:02,359 --> 00:18:04,720 Seleccione lo he escrito mal 425 00:18:04,720 --> 00:18:15,309 Seleccione 426 00:18:15,309 --> 00:18:16,309 Vale 427 00:18:16,309 --> 00:18:19,190 Un combo box 428 00:18:19,190 --> 00:18:21,210 Pues venga, cogemos un combo box 429 00:18:21,210 --> 00:18:23,650 con el desplegable de los días 430 00:18:23,650 --> 00:18:24,650 que va a ir ahí 431 00:18:24,650 --> 00:18:29,779 le vamos a dar un nombre a la variable 432 00:18:29,779 --> 00:18:31,819 para luego encontrarlo fácil en la aplicación 433 00:18:31,819 --> 00:18:33,859 pues listado días le podemos llamar 434 00:18:35,299 --> 00:18:36,039 list 435 00:18:36,039 --> 00:18:41,140 el combo box se llama listado de días 436 00:18:41,140 --> 00:18:41,640 vale 437 00:18:41,640 --> 00:18:44,539 y ahora este combo box 438 00:18:44,539 --> 00:18:47,099 los elementos que va a tener son 439 00:18:47,099 --> 00:18:48,720 fijos y siempre los mismos 440 00:18:48,720 --> 00:18:50,640 lunes, martes, miércoles, jueves, viernes, sábado y domingo 441 00:18:50,640 --> 00:18:53,319 pues entonces ya directamente nos podemos seguir 442 00:18:53,319 --> 00:18:55,019 antes de seguir metiendo cosas 443 00:18:55,019 --> 00:18:57,579 nos podemos ir aquí a la pestaña de fuente 444 00:18:57,579 --> 00:19:01,079 y aquí cuando me hace el combo box 445 00:19:01,079 --> 00:19:03,700 ya añadirle directamente los días a la semana 446 00:19:03,700 --> 00:19:04,900 entonces que va a tener 447 00:19:04,900 --> 00:19:06,240 va a tener solamente cadenas 448 00:19:06,240 --> 00:19:09,220 bueno pues lo vamos a parametrizar con string 449 00:19:09,220 --> 00:19:10,500 ahí 450 00:19:10,500 --> 00:19:12,740 y ahora ya simplemente 451 00:19:12,740 --> 00:19:15,720 es que ya podemos hacerle esto 452 00:19:15,720 --> 00:19:16,779 a listado días 453 00:19:16,779 --> 00:19:19,299 punto add item 454 00:19:19,299 --> 00:19:21,599 lunes 455 00:19:21,599 --> 00:19:22,539 y así con todos 456 00:19:22,539 --> 00:19:36,019 Así a lo vago 457 00:19:36,019 --> 00:19:38,940 1, 2, 3, 4, 5, 6 458 00:19:38,940 --> 00:19:40,779 7 459 00:19:40,779 --> 00:19:53,230 Vale, a ver 460 00:19:53,230 --> 00:19:54,890 Lo estoy haciendo así a lo 461 00:19:54,890 --> 00:19:57,720 A lo 462 00:19:57,720 --> 00:20:00,519 A lo rústico 463 00:20:00,519 --> 00:20:03,299 Vale, estamos así en un examen 464 00:20:03,299 --> 00:20:05,720 Pero claro, todo esto se puede hacer 465 00:20:05,720 --> 00:20:07,279 De una manera un poquito más bonita en código 466 00:20:07,279 --> 00:20:08,619 No poner ahí las tres sentencias 467 00:20:08,619 --> 00:20:10,660 meter esto en un array, recorrer el array 468 00:20:10,660 --> 00:20:12,480 que va a cabeza y añadiendo una cosa 469 00:20:12,480 --> 00:20:16,089 hacer un modelo 470 00:20:16,089 --> 00:20:17,769 para el combo box, efectivamente 471 00:20:17,769 --> 00:20:19,529 pues bueno, un montón de 472 00:20:19,529 --> 00:20:22,269 ala, pues nuestro combo box ya es este 473 00:20:22,269 --> 00:20:24,410 de hecho si miramos la 474 00:20:24,410 --> 00:20:26,250 vista previa, ah no, la vista previa 475 00:20:26,250 --> 00:20:27,849 no se ve, si 476 00:20:27,849 --> 00:20:30,069 ejecutamos, pues bueno, aquí están todos 477 00:20:30,069 --> 00:20:32,150 nuestros días y ya está 478 00:20:32,150 --> 00:20:33,569 y este combo box es que ya se queda así 479 00:20:33,569 --> 00:20:35,750 tan listo, vale 480 00:20:35,750 --> 00:20:37,490 y la etiqueta me ha quedado muy pequeña 481 00:20:37,490 --> 00:20:40,289 Vamos a hacer el frame más grande 482 00:20:40,289 --> 00:20:43,289 Para que 483 00:20:43,289 --> 00:20:49,210 En el frame le voy a poner 484 00:20:49,210 --> 00:20:51,490 En lugar de 450 de ancho 485 00:20:51,490 --> 00:20:52,289 Le voy a poner 486 00:20:52,289 --> 00:20:56,069 Pues 750 487 00:20:56,069 --> 00:20:58,150 Para que 488 00:20:58,150 --> 00:21:00,769 La etiqueta quepa mejor 489 00:21:00,769 --> 00:21:05,960 ¿Qué? 490 00:21:08,339 --> 00:21:08,759 Ya está 491 00:21:08,759 --> 00:21:12,140 pero no entendía ni la mitad 492 00:21:12,140 --> 00:21:14,039 o sea, yo lo que 493 00:21:14,039 --> 00:21:14,980 del enunciado 494 00:21:14,980 --> 00:21:18,019 ya, bueno, pero en ese caso 495 00:21:18,019 --> 00:21:20,440 tú me dices, explícame el enunciado 496 00:21:20,440 --> 00:21:22,440 porque no entiendo qué es lo que me quieres decir 497 00:21:22,440 --> 00:21:23,740 en ese 498 00:21:23,740 --> 00:21:26,500 de la clase de día 499 00:21:26,500 --> 00:21:28,240 los días de la semana 500 00:21:28,240 --> 00:21:29,400 te lo estaba metiendo con una raya 501 00:21:29,400 --> 00:21:32,720 claro, pero es que 502 00:21:32,720 --> 00:21:34,779 el objeto día recoge la información 503 00:21:34,779 --> 00:21:36,960 de un día y una propiedad 504 00:21:36,960 --> 00:21:38,559 la propiedad es el día en el que estás 505 00:21:38,559 --> 00:21:40,779 Estás o el lunes o el martes en uno de ellos 506 00:21:40,779 --> 00:21:42,480 Claro 507 00:21:42,480 --> 00:21:45,319 Y luego además pensaba que 508 00:21:45,319 --> 00:21:47,000 El combo box tenía que meter 509 00:21:47,000 --> 00:21:48,900 De alguna manera esa variante 510 00:21:48,900 --> 00:21:49,980 De esa clase 511 00:21:49,980 --> 00:21:54,660 De todas maneras 512 00:21:54,660 --> 00:21:57,319 Claro, no, el combo box tiene 513 00:21:57,319 --> 00:21:58,079 O sea, yo 514 00:21:58,079 --> 00:21:59,839 Luego pensé 515 00:21:59,839 --> 00:22:01,039 Es que 516 00:22:01,039 --> 00:22:04,400 ¿Cómo él da una cosa con la otra? 517 00:22:04,500 --> 00:22:07,099 A mí la única manera que yo sé hacerlo es creando 518 00:22:07,099 --> 00:22:09,019 agregando el combo 519 00:22:09,019 --> 00:22:10,900 desde la clase de ventana 520 00:22:10,900 --> 00:22:12,440 los días de la semana 521 00:22:12,440 --> 00:22:15,299 no metiendo la variable de la otra clase 522 00:22:15,299 --> 00:22:17,940 a ver, si de un enunciado 523 00:22:17,940 --> 00:22:19,799 tú no entiendes lo que se pide 524 00:22:19,799 --> 00:22:21,460 no entiendes algo, me lo dices 525 00:22:21,460 --> 00:22:23,339 y lo explicamos todo lo que haga falta 526 00:22:23,339 --> 00:22:26,869 porque 527 00:22:26,869 --> 00:22:29,150 siempre es mejor eso que arrancar 528 00:22:29,150 --> 00:22:30,670 ya una aplicación mal 529 00:22:30,670 --> 00:22:32,829 porque si ya arranca mal, porque está mal entendida 530 00:22:32,829 --> 00:22:34,069 enderezar eso es muy complicado 531 00:22:34,069 --> 00:22:36,589 bueno, pues entonces 532 00:22:36,589 --> 00:22:38,829 Estamos construyendo todavía la interfaz 533 00:22:38,829 --> 00:22:40,130 Seguimos, ¿qué nos falta? 534 00:22:40,690 --> 00:22:42,950 Otra etiqueta con estado de las tomas y el área de texto 535 00:22:42,950 --> 00:22:44,369 Pues venga 536 00:22:44,369 --> 00:22:47,849 Otra etiqueta 537 00:22:47,849 --> 00:22:48,849 Con 538 00:22:48,849 --> 00:22:51,690 Etiqueta 2 539 00:22:51,690 --> 00:22:58,019 Y el texto 540 00:22:58,019 --> 00:22:59,380 Que tiene es 541 00:22:59,380 --> 00:23:01,380 Dime, dime 542 00:23:01,380 --> 00:23:06,740 Bueno, el 543 00:23:06,740 --> 00:23:08,039 El plugin 544 00:23:08,039 --> 00:23:10,420 Te lo hace todo en el constructor, sí 545 00:23:10,420 --> 00:23:14,400 Si lo hace esto en un método aparte 546 00:23:14,400 --> 00:23:15,940 Luego ese método y que llamaron el constructor 547 00:23:15,940 --> 00:23:18,420 Porque todo esto se tiene que ejecutar en el momento de instancia 548 00:23:18,420 --> 00:23:19,660 Del frame, en el constructor 549 00:23:19,660 --> 00:23:24,269 Vale, pues a ver 550 00:23:24,269 --> 00:23:26,049 Estado de las temas, no, joder 551 00:23:26,049 --> 00:23:26,609 Si es que 552 00:23:26,609 --> 00:23:29,789 Uno no duerme y otro no ven 553 00:23:29,789 --> 00:23:31,789 Pero ya, la edad es muy mala 554 00:23:31,789 --> 00:23:37,789 Vale, bueno 555 00:23:37,789 --> 00:23:38,970 Pues ahora ya el área de texto 556 00:23:38,970 --> 00:23:42,170 Nuestro área de texto, text area 557 00:23:42,170 --> 00:23:43,430 Aquí 558 00:23:43,430 --> 00:23:47,369 Colocada y grande 559 00:23:47,369 --> 00:23:48,710 Para que quepan las medicaciones 560 00:23:48,710 --> 00:23:51,410 vamos a cambiar el nombre de la variable 561 00:23:51,410 --> 00:23:56,049 pues yo que sé, listado tomas 562 00:23:56,049 --> 00:23:57,910 la vamos a llamar 563 00:23:57,910 --> 00:24:00,690 esta área de texto se llama listado de las tomas 564 00:24:00,690 --> 00:24:05,690 ahí van a aparecer las tomas del día seleccionado 565 00:24:05,690 --> 00:24:09,089 para lo cual habrá que haber tirado del map de medicaciones 566 00:24:09,089 --> 00:24:12,769 y nos falta ahora ya otra etiqueta 567 00:24:12,769 --> 00:24:16,009 de selecciones, escriba medicación a tomar 568 00:24:16,009 --> 00:24:19,349 Pues otra etiqueta por aquí 569 00:24:19,349 --> 00:24:26,390 Textarea, al blanco grande ese 570 00:24:26,390 --> 00:24:30,849 Un área de texto, es como un textfield pero que te permite varias líneas 571 00:24:30,849 --> 00:24:33,710 Y ahora 572 00:24:33,710 --> 00:24:36,470 Escriba 573 00:24:36,470 --> 00:24:41,049 El nombre de la medicación 574 00:24:41,049 --> 00:24:48,460 Que va a tomar 575 00:24:48,460 --> 00:24:58,819 Vale, pues esa medicación se va a escribir en un textfield 576 00:24:58,819 --> 00:25:01,460 Eso ya sí, con una única línea es suficiente 577 00:25:01,460 --> 00:25:06,930 Vamos a cambiar el nombre de la variable 578 00:25:06,930 --> 00:25:08,930 Para luego encontrarla rápido en el código 579 00:25:08,930 --> 00:25:12,490 Nombre, medicación, por ejemplo 580 00:25:12,490 --> 00:25:16,200 Ya está 581 00:25:16,200 --> 00:25:17,480 Y ahora el botoncito 582 00:25:17,480 --> 00:25:19,740 Y ya no hay más que hacer en esta interfaz 583 00:25:19,740 --> 00:25:27,460 Botón tomar, lo vamos a llamar, por ejemplo 584 00:25:27,460 --> 00:25:36,019 Tomar medicación 585 00:25:36,019 --> 00:25:43,480 ¡Hala! 586 00:25:44,480 --> 00:25:48,019 Pues nuestra interfaz ya está 587 00:25:48,019 --> 00:25:56,400 Ya está, no hace nada, claro 588 00:25:56,400 --> 00:26:00,859 ya la tenemos, la etiqueta esta 589 00:26:00,859 --> 00:26:02,019 se queda siempre muy 590 00:26:02,019 --> 00:26:10,220 y ahora ya lo que queda es 591 00:26:10,220 --> 00:26:12,740 vamos a ver, ¿qué comportamiento va a tener esto? 592 00:26:13,960 --> 00:26:14,599 bueno, pues 593 00:26:14,599 --> 00:26:16,619 dos eventos, cuando seleccione 594 00:26:16,619 --> 00:26:18,180 el combo box y marque un día 595 00:26:18,180 --> 00:26:20,619 se tendrá que instanciar 596 00:26:22,039 --> 00:26:22,759 un objeto día 597 00:26:22,759 --> 00:26:24,720 que es lo que dice el enunciado, un objeto día 598 00:26:24,720 --> 00:26:26,759 con el nombre del día 599 00:26:26,759 --> 00:26:28,480 claro, y 600 00:26:28,480 --> 00:26:30,640 el listado de las medicaciones que se 601 00:26:30,640 --> 00:26:32,519 toman ese día y si están 602 00:26:32,519 --> 00:26:34,400 tomadas o no, bueno inicialmente todas han 603 00:26:34,400 --> 00:26:34,859 no tomado 604 00:26:34,859 --> 00:26:38,200 y luego ya tirar de ese objeto día 605 00:26:38,200 --> 00:26:40,400 para construir el texto que va al área 606 00:26:40,400 --> 00:26:40,880 de texto 607 00:26:40,880 --> 00:26:44,299 y luego pues en función de si pasan ciertas cosas 608 00:26:44,299 --> 00:26:45,779 avisar con los jOptionPanel 609 00:26:45,779 --> 00:26:47,099 que es lo que dice ahí 610 00:26:47,099 --> 00:26:50,359 si pasan cosas en este caso como que 611 00:26:50,359 --> 00:26:52,140 sea el día de recordatorio creo 612 00:26:52,140 --> 00:26:54,380 vale 613 00:26:54,380 --> 00:26:56,279 y el evento de tomar 614 00:26:56,279 --> 00:26:58,539 medicación pues se escribirá 615 00:26:58,539 --> 00:26:59,980 aquí una medicación que os le voy a tomar 616 00:26:59,980 --> 00:27:02,259 se cogerá ese texto de ahí 617 00:27:02,259 --> 00:27:04,980 y en el objeto día, en el objeto día 618 00:27:04,980 --> 00:27:07,240 que tiene la información de ese día 619 00:27:07,240 --> 00:27:08,980 que lo tiene todo, pues en ese objeto día 620 00:27:08,980 --> 00:27:11,079 cambiar la que sea tomada, cambiarla 621 00:27:11,079 --> 00:27:12,579 a tomada 622 00:27:12,579 --> 00:27:13,759 y cambiar el texto 623 00:27:13,759 --> 00:27:17,279 bueno, entonces más o menos eso es lo que hay que hacer 624 00:27:17,279 --> 00:27:19,000 ahora ya nos vamos a cada uno de los 625 00:27:19,000 --> 00:27:21,220 componentes y le metemos ese código 626 00:27:21,220 --> 00:27:23,019 ahora ya hay que meter dos eventos y ya está 627 00:27:23,019 --> 00:27:24,220 la aplicación terminada 628 00:27:24,220 --> 00:27:27,240 pero claro, no son dos eventos tampoco inmediatos de programar 629 00:27:27,240 --> 00:27:28,819 pues hay que programar un poquito 630 00:27:28,819 --> 00:27:30,660 pues venga 631 00:27:30,660 --> 00:27:33,460 Empezamos con el ActionListener 632 00:27:33,460 --> 00:27:38,079 Como es el evento por defecto 633 00:27:38,079 --> 00:27:40,200 Del ActionListener es el por defecto 634 00:27:40,200 --> 00:27:41,579 Pues ala 635 00:27:41,579 --> 00:27:43,940 El ActionPerformer este de aquí 636 00:27:43,940 --> 00:27:45,839 Vale 637 00:27:45,839 --> 00:27:47,519 Pues entonces aquí que tenemos que hacer 638 00:27:47,519 --> 00:27:50,140 Pues lo que dice 639 00:27:50,140 --> 00:27:51,099 Este enunciado 640 00:27:51,099 --> 00:27:52,099 Que dice 641 00:27:52,099 --> 00:27:54,799 Funcionalidades 642 00:27:54,799 --> 00:27:57,599 Introducido un día de la semana 643 00:27:57,599 --> 00:27:58,460 En el combo box 644 00:27:58,460 --> 00:28:01,079 La aplicación instancia un objeto 645 00:28:01,079 --> 00:28:02,960 Para el día elegido 646 00:28:02,960 --> 00:28:05,900 si el día es lunes 647 00:28:05,900 --> 00:28:08,380 lo que instanciará sería día recordatorio 648 00:28:08,380 --> 00:28:10,579 porque además meterá un mensajito 649 00:28:10,579 --> 00:28:11,259 que será este 650 00:28:11,259 --> 00:28:14,440 pero si el día no es lunes, instanciará un día normal 651 00:28:14,440 --> 00:28:17,299 entonces 652 00:28:17,299 --> 00:28:20,519 vamos a instanciar el objeto día 653 00:28:20,519 --> 00:28:22,000 construyendo toda la información 654 00:28:22,000 --> 00:28:24,140 y luego ya mostraremos 655 00:28:24,140 --> 00:28:25,660 en el área de texto 656 00:28:25,660 --> 00:28:28,119 la información de ese día 657 00:28:28,119 --> 00:28:30,359 y ya está 658 00:28:30,359 --> 00:28:33,880 Para el combo box 659 00:28:33,880 --> 00:28:35,240 No hay que hacer nada más 660 00:28:35,240 --> 00:28:37,119 Luego tomar medicación 661 00:28:37,119 --> 00:28:39,640 Ya es la que en función de si la medicación existe o no 662 00:28:39,640 --> 00:28:41,480 Si ya se ha tomado 663 00:28:41,480 --> 00:28:42,839 O no se ha tomado, etcétera 664 00:28:42,839 --> 00:28:43,880 Pues ya te dará avisos 665 00:28:43,880 --> 00:28:45,740 ¿Vale? 666 00:28:48,339 --> 00:28:50,660 Los comprimidos que tienes que tomar, etcétera 667 00:28:50,660 --> 00:28:50,960 Bueno 668 00:28:50,960 --> 00:28:54,119 Pues venga, vamos a la primera 669 00:28:54,119 --> 00:28:56,799 A ver, aquí lo primero es 670 00:28:56,799 --> 00:28:59,079 Vamos a coger el día que está en el combo box 671 00:28:59,079 --> 00:28:59,859 El día de la semana 672 00:28:59,859 --> 00:29:02,880 aquí yo lo voy a escribir 673 00:29:02,880 --> 00:29:05,319 todo en plan chorizo, vamos escribiendo luego todo este código 674 00:29:05,319 --> 00:29:07,259 que me va a salir aquí un truño enorme 675 00:29:07,259 --> 00:29:09,140 pues efectivamente uno ya lo puede 676 00:29:09,140 --> 00:29:11,039 arreglar 677 00:29:11,039 --> 00:29:12,759 sacar cosas a métodos 678 00:29:12,759 --> 00:29:14,759 recolocar, refactorizar, etc 679 00:29:14,759 --> 00:29:17,180 ahora mismo estamos un poco en modo examen 680 00:29:17,180 --> 00:29:19,059 pues viendo a ver que primera versión nos queda 681 00:29:19,059 --> 00:29:20,980 vamos a sacar primero 682 00:29:20,980 --> 00:29:22,460 el día de la semana en el que estamos 683 00:29:22,460 --> 00:29:24,579 este día de la semana sale del combo box 684 00:29:24,579 --> 00:29:27,220 el combo box se llamaba 685 00:29:27,220 --> 00:29:29,059 se llamaba 686 00:29:29,059 --> 00:29:32,140 listado días 687 00:29:32,140 --> 00:29:35,740 listado días 688 00:29:35,740 --> 00:29:37,880 punto get selected 689 00:29:37,880 --> 00:29:38,779 item 690 00:29:38,779 --> 00:29:41,039 ala 691 00:29:41,039 --> 00:29:45,220 vamos a hacer el casting a string 692 00:29:45,220 --> 00:29:47,480 porque este método me dice 693 00:29:47,480 --> 00:29:49,160 cuando devuelven object pero 694 00:29:49,160 --> 00:29:50,640 sabemos que es un string 695 00:29:50,640 --> 00:29:53,720 vale aquí tenemos el día de la semana que se ha seleccionado 696 00:29:53,720 --> 00:29:55,319 en el combo box cuando hemos hecho click 697 00:29:55,319 --> 00:29:57,839 y a partir de ese día de la semana 698 00:29:57,839 --> 00:29:59,160 tenemos que hacer todo lo demás 699 00:29:59,160 --> 00:30:01,940 bueno primero es día de recordatorio 700 00:30:01,940 --> 00:30:02,980 O no lo es 701 00:30:02,980 --> 00:30:06,099 Pues vamos a distinguirlo 702 00:30:06,099 --> 00:30:06,819 Vamos a ver 703 00:30:06,819 --> 00:30:09,440 Vamos a 704 00:30:09,440 --> 00:30:11,940 Si día 705 00:30:11,940 --> 00:30:12,700 Punto 706 00:30:12,700 --> 00:30:20,579 Equals lunes 707 00:30:20,579 --> 00:30:22,359 Vale 708 00:30:22,359 --> 00:30:25,000 Entonces, con el objeto día 709 00:30:25,000 --> 00:30:26,160 Que vamos a instanciar 710 00:30:26,160 --> 00:30:27,900 Vamos a declarar aquí 711 00:30:27,900 --> 00:30:31,000 A ver, día semana 712 00:30:31,000 --> 00:30:32,960 Pero lo voy a llamar con S para 713 00:30:32,960 --> 00:30:35,460 Lo voy a llamar día actual 714 00:30:35,460 --> 00:30:36,819 Día actual 715 00:30:36,819 --> 00:30:38,839 vale 716 00:30:38,839 --> 00:30:42,079 este es el día que vamos a instanciar 717 00:30:42,079 --> 00:30:43,480 va a ser el día actual en el que estoy 718 00:30:43,480 --> 00:30:45,380 es el día que vamos a instanciar 719 00:30:45,380 --> 00:30:47,519 vale, pues 720 00:30:47,519 --> 00:30:49,519 si el día seleccionado 721 00:30:49,519 --> 00:30:51,500 día, espera 722 00:30:51,500 --> 00:30:53,720 vamos a llamar a las variables un poco mejor 723 00:30:53,720 --> 00:30:56,099 lo voy a llamar día seleccionado, el del combo box 724 00:30:56,099 --> 00:31:02,339 si el día seleccionado 725 00:31:03,000 --> 00:31:04,480 seleccionado 726 00:31:04,480 --> 00:31:05,900 es igual al lunes 727 00:31:05,900 --> 00:31:08,099 entonces 728 00:31:08,099 --> 00:31:10,720 día actual 729 00:31:10,720 --> 00:31:13,279 vamos a hacer una instancia de día recordatorio 730 00:31:13,279 --> 00:31:16,119 y luego ya 731 00:31:16,119 --> 00:31:21,170 una instancia, luego ya le vamos poniendo las propiedades 732 00:31:21,170 --> 00:31:24,849 día recordatorio 733 00:31:24,849 --> 00:31:27,670 día recordatorio 734 00:31:27,670 --> 00:31:30,470 tenemos un constructor de día recordatorio que ya me daba 735 00:31:30,470 --> 00:31:32,809 el día de la semana y el mensajito 736 00:31:32,809 --> 00:31:36,069 por eso ya se lo podemos poner, día de la semana, lunes 737 00:31:36,069 --> 00:31:38,710 y el mensajito el que me han dado en la aplicación 738 00:31:38,710 --> 00:31:41,390 voy a ponerlo aquí abajo 739 00:31:41,390 --> 00:31:43,809 el que me han dado en la aplicación 740 00:31:43,809 --> 00:31:46,190 que es 741 00:31:46,190 --> 00:31:48,589 este 742 00:31:48,589 --> 00:32:03,789 a ver, lunes 743 00:32:03,789 --> 00:32:04,650 coma 744 00:32:04,650 --> 00:32:06,829 recuerde ahí 745 00:32:06,829 --> 00:32:11,569 vale, si el día deseleccionado es lunes 746 00:32:11,569 --> 00:32:13,950 mi día actual es un día de recordatorio 747 00:32:13,950 --> 00:32:15,210 con estas dos propiedades 748 00:32:15,210 --> 00:32:17,690 y me faltaría rellenar el resto de propiedades 749 00:32:17,690 --> 00:32:20,230 claro, las medicaciones que tocan para ese día 750 00:32:20,230 --> 00:32:21,569 y los días 751 00:32:21,569 --> 00:32:23,809 vale, me tocaría eso 752 00:32:23,809 --> 00:32:25,809 pero la parte esta 753 00:32:25,809 --> 00:32:27,890 la podemos hacer ya, y ahora, y si no es lunes 754 00:32:27,890 --> 00:32:30,049 es decir, es martes, miércoles, jueves 755 00:32:30,049 --> 00:32:32,049 viernes, pues entonces el día actual 756 00:32:32,049 --> 00:32:34,230 no es un objeto día recordatorio 757 00:32:34,230 --> 00:32:36,089 sino que es un objeto 758 00:32:36,089 --> 00:32:37,349 día normal y corriente 759 00:32:37,349 --> 00:32:39,130 con día de la semana 760 00:32:39,130 --> 00:32:41,009 pues el día seleccionado 761 00:32:41,009 --> 00:32:47,900 día seleccionado 762 00:32:53,950 --> 00:32:56,269 vale, entonces 763 00:32:56,269 --> 00:32:58,390 este es el día actual en el que estoy 764 00:32:58,390 --> 00:32:59,730 el día actual en el que estamos 765 00:32:59,730 --> 00:33:16,529 O bien lunes con el mensajito correspondiente y en ese caso es de tipo día recordatorio, pero recordad que yo lo puedo instanciar como día recordatorio aunque la instancia esté declarada como tipo día, porque día recordatorio le da de día. 766 00:33:17,349 --> 00:33:19,049 Entonces puedo instanciarlo dentro de día. 767 00:33:19,990 --> 00:33:23,210 Y si no es día de recordatorio lo instancio como día normal. 768 00:33:23,210 --> 00:33:25,529 vale, pero ahora que nos falta 769 00:33:25,529 --> 00:33:27,890 nos falta ya el meollo, la parte ya de programar 770 00:33:27,890 --> 00:33:28,410 que es 771 00:33:28,410 --> 00:33:31,049 los objetos día 772 00:33:31,049 --> 00:33:33,490 tienen la lista de medicaciones 773 00:33:33,490 --> 00:33:35,750 que tenemos que sacar 774 00:33:35,750 --> 00:33:36,589 de aquí 775 00:33:36,589 --> 00:33:38,369 de este map 776 00:33:38,369 --> 00:33:41,869 entonces, tendremos que 777 00:33:41,869 --> 00:33:43,670 recorrer el map 778 00:33:43,670 --> 00:33:45,769 vale, para cada 779 00:33:45,769 --> 00:33:46,769 posición del map 780 00:33:46,769 --> 00:33:49,390 quedarnos con los días a la semana 781 00:33:49,390 --> 00:33:50,730 que se toma esa medicación 782 00:33:50,730 --> 00:33:54,210 si en esa lista de días a la semana 783 00:33:54,210 --> 00:33:56,170 está el día 784 00:33:56,170 --> 00:33:58,190 actual, entonces tendremos 785 00:33:58,190 --> 00:33:59,470 que meter la medicación en la lista 786 00:33:59,470 --> 00:34:01,089 eso es lo que habrá que hacer, ¿verdad? 787 00:34:01,869 --> 00:34:04,269 esa es la operativa de programación que tenemos que hacer ahora 788 00:34:04,269 --> 00:34:05,910 recorrer el map 789 00:34:05,910 --> 00:34:07,930 coger 790 00:34:07,930 --> 00:34:09,269 para cada 791 00:34:09,269 --> 00:34:11,630 medicación que está en ese map 792 00:34:11,630 --> 00:34:13,050 los días a la semana 793 00:34:13,050 --> 00:34:16,230 si está comprendido en los días 794 00:34:16,230 --> 00:34:18,030 a la semana el día que tengo 795 00:34:18,030 --> 00:34:20,469 seleccionado, esa medicación 796 00:34:20,469 --> 00:34:22,809 se va a la lista de medicaciones del día 797 00:34:22,809 --> 00:34:23,550 ¿vale? 798 00:34:24,289 --> 00:34:25,670 eso es lo que tendremos que hacer 799 00:34:25,670 --> 00:34:28,010 pues venga, vamos a iterar por el map 800 00:34:28,010 --> 00:34:28,690 eso es lo primero 801 00:34:28,690 --> 00:34:31,590 vamos a iterar por el map 802 00:34:31,590 --> 00:34:34,510 pues venga, iterar por un map 803 00:34:34,510 --> 00:34:36,110 ya sabemos como 804 00:34:36,110 --> 00:34:37,429 como lo hacemos 805 00:34:37,429 --> 00:34:40,510 mi map es la variable 806 00:34:40,510 --> 00:34:44,630 estática datos.medicaciones 807 00:34:44,630 --> 00:34:46,750 ese es mi map 808 00:34:46,750 --> 00:34:49,110 entonces datos.medicaciones 809 00:34:49,110 --> 00:34:52,030 le podemos sacar con un entry set 810 00:34:52,030 --> 00:34:55,150 este conjunto 811 00:34:55,150 --> 00:34:59,380 de 812 00:34:59,380 --> 00:35:05,050 string toma 813 00:35:05,050 --> 00:35:08,940 vale 814 00:35:08,940 --> 00:35:11,599 lo vamos a llamar 815 00:35:11,599 --> 00:35:13,539 medics dia 816 00:35:13,539 --> 00:35:18,449 importamos set 817 00:35:18,449 --> 00:35:22,679 importamos 818 00:35:22,679 --> 00:35:23,719 entry 819 00:35:23,719 --> 00:35:26,639 vale, pues estas son las 820 00:35:26,639 --> 00:35:28,860 medicaciones, o sea, perdón 821 00:35:28,860 --> 00:35:30,619 las medicaciones totales 822 00:35:30,619 --> 00:35:31,800 medicaciones 823 00:35:31,800 --> 00:35:34,000 vale, las medicaciones totales 824 00:35:34,000 --> 00:35:36,019 vale, pues vamos a ir ahora una por una 825 00:35:36,019 --> 00:35:38,000 vamos a ir ahora una por una 826 00:35:38,000 --> 00:35:39,679 y para cada una de ellas 827 00:35:39,679 --> 00:35:41,619 de nuevo, miramos a ver si le toca 828 00:35:41,619 --> 00:35:43,719 tomarla en ese día 829 00:35:43,719 --> 00:35:45,500 en el que estamos, si le toca 830 00:35:45,500 --> 00:35:47,559 la clave irá 831 00:35:47,559 --> 00:35:49,880 a la lista y si no le toca pues nada 832 00:35:49,880 --> 00:35:51,280 pues venga 833 00:35:51,280 --> 00:35:53,539 vamos a recorrer ahora el map, este 834 00:35:53,539 --> 00:35:55,579 para lo cual hemos hecho este set 835 00:35:55,579 --> 00:35:57,780 ahora, ¿cómo recorremos 836 00:35:57,780 --> 00:35:59,539 este set? pues recorremos este set 837 00:35:59,539 --> 00:36:00,860 con un for each, por ejemplo 838 00:36:00,860 --> 00:36:09,940 para cada medicación 839 00:36:09,940 --> 00:36:13,380 en mi listado de medicaciones 840 00:36:13,380 --> 00:36:14,840 para cada medicación 841 00:36:14,840 --> 00:36:18,139 vale, los días a la semana 842 00:36:18,139 --> 00:36:19,280 que tiene que tomar 843 00:36:19,280 --> 00:36:21,500 si se tiene que tomar esta medicación M 844 00:36:21,500 --> 00:36:23,820 los días a la semana, vamos a guardarlos aquí 845 00:36:23,820 --> 00:36:27,849 días en las que 846 00:36:27,849 --> 00:36:29,570 tiene que tomar, sabemos que están aquí 847 00:36:29,570 --> 00:36:31,869 en M.getValue 848 00:36:31,869 --> 00:36:33,849 que es la toma 849 00:36:33,849 --> 00:36:35,929 .getDíaSemana 850 00:36:35,929 --> 00:36:37,190 ¿verdad? 851 00:36:37,929 --> 00:36:39,510 es decir, aquí tengo 852 00:36:39,510 --> 00:36:40,650 en este string 853 00:36:40,650 --> 00:36:42,309 tengo esto 854 00:36:42,309 --> 00:36:44,369 tengo este listado 855 00:36:44,369 --> 00:36:49,190 y ahora, esta es la parte 856 00:36:49,190 --> 00:36:49,929 de programar 857 00:36:49,929 --> 00:36:52,550 tenemos que ver si 858 00:36:52,550 --> 00:36:55,590 dentro de este string separado con guiones 859 00:36:55,590 --> 00:36:57,550 está contenida 860 00:36:57,550 --> 00:36:58,590 la inicial 861 00:36:58,590 --> 00:37:01,489 del día que tengo seleccionada 862 00:37:01,489 --> 00:37:02,889 que tengo seleccionado 863 00:37:02,889 --> 00:37:04,449 en mi combo box 864 00:37:04,449 --> 00:37:07,090 es decir 865 00:37:07,090 --> 00:37:09,090 esto que tengo aquí 866 00:37:09,090 --> 00:37:11,570 el día actual 867 00:37:11,570 --> 00:37:12,869 el día seleccionado 868 00:37:12,869 --> 00:37:14,250 tendrá una inicial 869 00:37:14,250 --> 00:37:16,829 y tenemos que ver si esa inicial 870 00:37:16,829 --> 00:37:18,269 está 871 00:37:18,269 --> 00:37:20,889 contenido aquí 872 00:37:20,889 --> 00:37:23,210 con la salvedad 873 00:37:23,210 --> 00:37:25,309 de que el miércoles su inicial es la X 874 00:37:25,309 --> 00:37:26,929 entonces esto 875 00:37:26,929 --> 00:37:28,889 uno lo puede programar de mil maneras 876 00:37:28,889 --> 00:37:30,250 pero vámonos a una 877 00:37:30,250 --> 00:37:32,849 por ejemplo, vamos a fijar primero la inicial 878 00:37:32,849 --> 00:37:35,210 del día, para ver si la inicial está contenida en ese listado 879 00:37:35,210 --> 00:37:36,949 vale, pues 880 00:37:36,949 --> 00:37:38,869 venga, string 881 00:37:38,869 --> 00:37:40,429 inicial día 882 00:37:40,429 --> 00:37:41,690 entonces 883 00:37:41,690 --> 00:37:43,690 este inicial día 884 00:37:43,690 --> 00:37:46,289 ¿cuál va a ser? 885 00:37:46,949 --> 00:37:48,550 pues depende, si el día 886 00:37:48,550 --> 00:37:49,710 no es miércoles 887 00:37:49,710 --> 00:37:52,469 es la inicial del día 888 00:37:52,469 --> 00:37:54,170 pero si el día es miércoles es la X 889 00:37:54,170 --> 00:37:56,550 entonces si está en inicial día lo podemos hacer 890 00:37:56,550 --> 00:37:58,289 por ejemplo así 891 00:37:58,289 --> 00:38:00,769 día actual 892 00:38:00,769 --> 00:38:02,750 punto 893 00:38:02,750 --> 00:38:03,789 equals 894 00:38:03,789 --> 00:38:06,110 día actual no, perdón, día semana 895 00:38:06,110 --> 00:38:08,690 día seleccionado, perdón, día seleccionado 896 00:38:08,690 --> 00:38:09,730 Que es el día del combo box 897 00:38:09,730 --> 00:38:11,989 Ay, que me he ido 898 00:38:11,989 --> 00:38:15,230 Día seleccionado, que es el día del combo box 899 00:38:15,230 --> 00:38:18,489 Seleccionado 900 00:38:18,489 --> 00:38:22,179 Es igual 901 00:38:22,179 --> 00:38:24,599 A miércoles 902 00:38:24,599 --> 00:38:28,079 No sé si los he puesto con tildes o no 903 00:38:28,079 --> 00:38:29,860 Hay que verificar 904 00:38:29,860 --> 00:38:32,639 Es igual a miércoles 905 00:38:32,639 --> 00:38:34,579 Porque si es igual a miércoles 906 00:38:34,579 --> 00:38:36,539 Entonces inicia el día, ¿cuál va a ser? 907 00:38:36,900 --> 00:38:37,219 X 908 00:38:37,219 --> 00:38:40,500 Pero si no es igual a miércoles 909 00:38:40,500 --> 00:38:41,619 Inicial día, ¿cuál va a ser? 910 00:38:41,739 --> 00:38:43,519 Día seleccionado, punto charat cero 911 00:38:43,519 --> 00:38:44,219 ¿Verdad? 912 00:38:48,869 --> 00:38:50,030 Seleccionado, punto 913 00:38:50,030 --> 00:38:52,190 Char 914 00:38:52,190 --> 00:38:54,090 At 915 00:38:54,090 --> 00:38:55,409 Cero 916 00:38:55,409 --> 00:39:01,190 Y aquí me sobra 917 00:39:01,190 --> 00:39:02,289 Charat cero 918 00:39:02,289 --> 00:39:12,139 Y aquí lo que me falta es un paréntesis 919 00:39:12,139 --> 00:39:15,420 Vale, entonces 920 00:39:15,420 --> 00:39:16,840 Antes de arreglar este error rojo 921 00:39:16,840 --> 00:39:18,000 Que ahora me decís por qué sale 922 00:39:18,000 --> 00:39:21,460 Está claro esta sentencia y lo que quería hacer con ella 923 00:39:21,460 --> 00:39:23,159 Quiero guardar en un string 924 00:39:23,159 --> 00:39:25,199 la inicial del día en el que estoy 925 00:39:25,199 --> 00:39:27,099 es decir, la L o la M 926 00:39:27,099 --> 00:39:29,219 o la X 927 00:39:29,219 --> 00:39:30,019 o la J 928 00:39:30,019 --> 00:39:32,900 yo sé que la inicial del día en el que estoy 929 00:39:32,900 --> 00:39:35,039 va a venir como 930 00:39:35,039 --> 00:39:37,500 la inicial del día que tengo seleccionado 931 00:39:37,500 --> 00:39:39,420 en el combo box, salvo si es miércoles 932 00:39:39,420 --> 00:39:40,619 salvo si es miércoles 933 00:39:40,619 --> 00:39:43,179 entonces no puedo aquí directamente decir 934 00:39:43,179 --> 00:39:44,860 que la inicial día sea 935 00:39:44,860 --> 00:39:46,659 día seleccionado punto charad cero 936 00:39:46,659 --> 00:39:49,239 será día seleccionado charad cero 937 00:39:49,239 --> 00:39:51,659 solamente si el día es distinto de miércoles 938 00:39:51,659 --> 00:39:54,480 pues entonces me lo puedo hacer con un 939 00:39:54,480 --> 00:39:55,480 if, si es que nos gusta 940 00:39:55,480 --> 00:39:58,199 este operador 941 00:39:58,199 --> 00:40:00,079 pero bueno, es un operador que se usa continuamente 942 00:40:00,079 --> 00:40:02,239 bueno, pues la inicial de día es 943 00:40:02,239 --> 00:40:04,360 el día seleccionado de mi combo box es miércoles 944 00:40:04,360 --> 00:40:05,659 entonces la inicial de día es x 945 00:40:05,659 --> 00:40:08,179 que no es miércoles, entonces mi inicial 946 00:40:08,179 --> 00:40:10,300 de día es su primer carácter 947 00:40:10,300 --> 00:40:11,900 vale, ahora sí que pregunto 948 00:40:11,900 --> 00:40:13,519 ¿por qué me sale aquí en rojo esto? 949 00:40:13,800 --> 00:40:14,840 sin que miréis la esa 950 00:40:14,840 --> 00:40:19,530 bueno 951 00:40:19,530 --> 00:40:20,750 pues explícamelo 952 00:40:20,750 --> 00:40:25,690 claro, porque el método charAt 953 00:40:25,690 --> 00:40:27,409 te devuelve esa letra 954 00:40:27,409 --> 00:40:28,389 pero en formato char 955 00:40:28,389 --> 00:40:31,710 y yo he puesto aquí guardarlo en un 956 00:40:31,710 --> 00:40:33,829 string, entonces hombre, podría cambiarlo 957 00:40:33,829 --> 00:40:34,550 aquí a char 958 00:40:34,550 --> 00:40:37,750 y entonces aquí darle este 959 00:40:37,750 --> 00:40:39,550 uy, perdón 960 00:40:39,550 --> 00:40:40,929 dárselo así 961 00:40:40,929 --> 00:40:44,650 vale, ay 962 00:40:44,650 --> 00:40:49,349 he borrado la esta 963 00:40:49,349 --> 00:40:50,909 ahí 964 00:40:50,909 --> 00:40:58,340 vale, podría cambiarlo a char 965 00:40:58,340 --> 00:41:00,460 pero entonces le tengo que pasar aquí 966 00:41:00,460 --> 00:41:02,619 el x en char, que es como la comilla simple 967 00:41:02,619 --> 00:41:04,840 o podría dejarlo en string 968 00:41:04,840 --> 00:41:06,960 depende como me interese luego el uso que vaya a usar 969 00:41:06,960 --> 00:41:08,539 y en ese caso si lo dejara en string 970 00:41:08,539 --> 00:41:10,639 lo tendría tan sencillo como 971 00:41:10,639 --> 00:41:12,920 concatenar esto con el este y ya lo tengo en string 972 00:41:12,920 --> 00:41:13,099 ¿no? 973 00:41:14,760 --> 00:41:16,619 entonces lo que a uno le guste más 974 00:41:16,619 --> 00:41:18,420 en función de luego para qué vaya a usar 975 00:41:18,420 --> 00:41:20,820 inicial de día, ahora lo veremos a ver que nos interesa más 976 00:41:20,820 --> 00:41:22,960 pero antes que entendáis lo que estamos haciendo 977 00:41:22,960 --> 00:41:24,679 vale 978 00:41:24,679 --> 00:41:26,900 esto ya sí que es un char porque está en comillas simples 979 00:41:26,900 --> 00:41:29,079 y esto es un char 980 00:41:29,079 --> 00:41:31,019 que este char lo quiere un string 981 00:41:31,019 --> 00:41:33,659 pasar de un char o cualquier cosa string 982 00:41:33,659 --> 00:41:35,860 es concatenar con la cadena vacía y facilísimo 983 00:41:35,860 --> 00:41:37,139 lo que queramos 984 00:41:37,139 --> 00:41:40,059 vale, pero tenemos aquí un char con la inicial del día 985 00:41:40,059 --> 00:41:42,260 y ahora, ¿qué tenemos que ver? 986 00:41:43,219 --> 00:41:43,619 pues 987 00:41:43,619 --> 00:41:45,699 si esta inicial 988 00:41:45,699 --> 00:41:47,380 está comprendida 989 00:41:47,380 --> 00:41:49,320 en todo este string 990 00:41:49,320 --> 00:41:52,059 porque si está comprendida 991 00:41:52,059 --> 00:41:54,059 en ese string, entonces tengo que 992 00:41:54,059 --> 00:41:56,099 añadir la clave de la 993 00:41:56,099 --> 00:41:58,539 medicación, que es el nombre, a la lista 994 00:41:58,539 --> 00:42:00,119 de mi objeto 995 00:42:00,119 --> 00:42:02,239 día actual. Eso es lo que tendré que hacer. 996 00:42:02,579 --> 00:42:04,099 ¿Verdad? ¿Vale? 997 00:42:04,179 --> 00:42:06,159 Pues, ¿cómo podemos hacer esto? O programando 998 00:42:06,159 --> 00:42:07,400 así a lo bestia, 999 00:42:08,139 --> 00:42:08,699 es decir, 1000 00:42:10,539 --> 00:42:12,260 siempre tenemos 1001 00:42:12,260 --> 00:42:14,380 la opción patatera, que es 1002 00:42:14,380 --> 00:42:16,539 ir recorriendo 1003 00:42:16,539 --> 00:42:17,139 el string 1004 00:42:17,139 --> 00:42:19,619 todo enterito. 1005 00:42:20,500 --> 00:42:22,260 ¿Que el chara 1006 00:42:22,260 --> 00:42:23,880 este coincide con el este? 1007 00:42:23,880 --> 00:42:26,079 pues entonces ya está, no está 1008 00:42:26,079 --> 00:42:27,219 o sea, siempre tengo la opción 1009 00:42:27,219 --> 00:42:30,260 larga, la de programar pura y dura 1010 00:42:30,260 --> 00:42:31,780 ¿vale? o 1011 00:42:31,780 --> 00:42:34,000 puedo recorrer a los 1012 00:42:34,000 --> 00:42:35,719 métodos de string, voy a buscar un método de string 1013 00:42:35,719 --> 00:42:37,019 a ver si tengo un método de string que me dice 1014 00:42:37,019 --> 00:42:39,960 ¿este string contiene una secuencia de caracteres? 1015 00:42:40,019 --> 00:42:41,059 pues seguramente tenga algún método 1016 00:42:41,059 --> 00:42:43,500 pero vamos a 1017 00:42:43,500 --> 00:42:45,739 hacerlo a la vía de, uh, no quiero buscar 1018 00:42:45,739 --> 00:42:47,679 métodos que luego igual no me funcionan, voy a hacerlo 1019 00:42:47,679 --> 00:42:49,500 programando puro y duro, pues hombre, siempre 1020 00:42:49,500 --> 00:42:51,780 podríamos hacer esto, como vamos a averiguar 1021 00:42:51,780 --> 00:42:52,900 si algo existe o no existe 1022 00:42:52,900 --> 00:42:55,559 o si le podríamos hacer un está igual a 1023 00:42:55,559 --> 00:42:57,539 falso y recorremos el 1024 00:42:57,539 --> 00:42:58,340 días tomar 1025 00:42:58,340 --> 00:43:03,670 mientras 1026 00:43:03,670 --> 00:43:05,389 si sea menor que días 1027 00:43:05,389 --> 00:43:06,690 tomar 1028 00:43:06,690 --> 00:43:09,849 punto length la longitud del string 1029 00:43:09,849 --> 00:43:10,929 incrementando y 1030 00:43:10,929 --> 00:43:12,610 pues ahora podemos hacer 1031 00:43:12,610 --> 00:43:15,530 si en la posición 1032 00:43:15,530 --> 00:43:17,590 de días tomar y 1033 00:43:17,590 --> 00:43:19,469 char at 1034 00:43:19,469 --> 00:43:21,550 y resulta 1035 00:43:21,550 --> 00:43:22,510 que esta posición 1036 00:43:22,510 --> 00:43:24,449 es igual 1037 00:43:24,449 --> 00:43:25,769 esto es un char 1038 00:43:25,769 --> 00:43:28,829 es igual a mi inicial día 1039 00:43:28,829 --> 00:43:31,070 como es un char 1040 00:43:31,070 --> 00:43:32,889 comparo con doble igual 1041 00:43:32,889 --> 00:43:34,369 porque un char no es un objeto 1042 00:43:34,369 --> 00:43:36,849 si es igual a mi inicial día 1043 00:43:36,849 --> 00:43:38,869 pues a la esta, esta igual a true 1044 00:43:38,869 --> 00:43:40,449 siempre lo puedo hacer así 1045 00:43:40,449 --> 00:43:41,849 y ya está 1046 00:43:41,849 --> 00:43:44,949 recorro 1047 00:43:44,949 --> 00:43:47,269 mi listado de días 1048 00:43:47,269 --> 00:43:50,190 y si en alguna de las posiciones 1049 00:43:50,190 --> 00:43:52,389 encuentro que está la inicial 1050 00:43:52,389 --> 00:43:53,550 de mi día, ya está 1051 00:43:53,550 --> 00:43:56,150 está, vale 1052 00:43:56,150 --> 00:44:00,269 días tomar 1053 00:44:00,269 --> 00:44:02,409 es este listado de aquí 1054 00:44:02,409 --> 00:44:06,530 porque lo he sacado 1055 00:44:06,530 --> 00:44:08,849 de getDíaSemana de la toma 1056 00:44:08,849 --> 00:44:13,880 M es 1057 00:44:13,880 --> 00:44:16,699 una medicación en concreto con su toma 1058 00:44:16,699 --> 00:44:17,199 perdón 1059 00:44:17,199 --> 00:44:19,300 M tiene 1060 00:44:19,300 --> 00:44:22,320 el nombre de medicación 1061 00:44:22,320 --> 00:44:24,420 y el objeto toma que te incluye 1062 00:44:24,420 --> 00:44:26,460 con lo cual el objeto toma lo sacamos con getValue 1063 00:44:26,460 --> 00:44:36,820 vale, entonces 1064 00:44:36,820 --> 00:44:40,369 ¿qué está? pues entonces 1065 00:44:40,369 --> 00:44:41,349 tenemos que meter 1066 00:44:41,349 --> 00:44:44,150 en la lista del día 1067 00:44:44,150 --> 00:44:46,190 día actual 1068 00:44:46,190 --> 00:44:47,750 en la lista del día actual 1069 00:44:47,750 --> 00:44:50,469 día actual 1070 00:44:50,469 --> 00:44:52,469 punto ad, vamos a meter en esta 1071 00:44:52,469 --> 00:44:54,429 lista, perdón, día actual punto 1072 00:44:54,429 --> 00:44:55,610 get 1073 00:44:55,610 --> 00:44:58,670 medicaciones, en get medicaciones 1074 00:44:58,670 --> 00:45:00,050 vamos a meterle esa medicación 1075 00:45:00,050 --> 00:45:02,329 y esa medicación ¿dónde está? en 1076 00:45:02,329 --> 00:45:03,250 m.getkey 1077 00:45:03,250 --> 00:45:10,579 ¿verdad? y hay que ponerla 1078 00:45:10,579 --> 00:45:12,340 como no tomada, dice, porque estamos 1079 00:45:12,340 --> 00:45:14,480 inicializando. Pues entonces 1080 00:45:14,480 --> 00:45:16,019 para ponerla como no tomada 1081 00:45:16,019 --> 00:45:22,239 a día actual punto 1082 00:45:22,239 --> 00:45:24,039 get tomadas 1083 00:45:24,039 --> 00:45:25,900 punto add 1084 00:45:25,900 --> 00:45:30,420 un cero. Vale, pues el objeto 1085 00:45:30,420 --> 00:45:31,980 ya estaría construido. 1086 00:45:33,280 --> 00:45:34,400 Nos falta sacar 1087 00:45:34,400 --> 00:45:36,119 la información para poner el área de texto. 1088 00:45:36,280 --> 00:45:37,199 Pero el objeto ya estaría. 1089 00:45:39,019 --> 00:45:39,179 ¿No? 1090 00:45:40,579 --> 00:45:42,000 Revisamos. Hemos creado un día. 1091 00:45:43,760 --> 00:45:44,519 Ese día 1092 00:45:44,519 --> 00:45:46,559 es o bien día recordatorio o bien 1093 00:45:46,559 --> 00:45:48,960 día normal, si es día recordatorio 1094 00:45:48,960 --> 00:45:50,579 además tiene ese mensaje, nada más 1095 00:45:50,579 --> 00:45:52,380 y ahora nos toca 1096 00:45:52,380 --> 00:45:54,579 recorrer el map de medicaciones 1097 00:45:54,579 --> 00:45:56,599 para cada medicación 1098 00:45:56,599 --> 00:45:58,559 ver si los días 1099 00:45:58,559 --> 00:45:59,719 en los que toca tomarla 1100 00:45:59,719 --> 00:46:02,599 incluyen el que tengo en el combo box 1101 00:46:02,599 --> 00:46:03,920 porque si lo incluyen 1102 00:46:03,920 --> 00:46:06,019 añado la medicación a la lista 1103 00:46:06,019 --> 00:46:07,980 pues lo siguiente que hemos hecho 1104 00:46:07,980 --> 00:46:10,420 nos hemos puesto a recorrer nuestro map 1105 00:46:10,420 --> 00:46:11,219 de medicaciones 1106 00:46:11,219 --> 00:46:23,019 Y ahora, para cada medicación M, con su nombre y su toma, a partir de la toma que está en Get Value, hemos sacado los días de semana que toca. 1107 00:46:24,199 --> 00:46:35,699 Ahora, con este código, hemos mirado a ver si el día seleccionado, la inicial del día seleccionado, con la salvedad de que 6.000 parciales X, 1108 00:46:35,699 --> 00:46:51,820 La inicial del día, a ver si está contenido ahí, porque si está, hay que añadir a ese día actual, a la lista de medicaciones, esa medicación, que estará en la clave, porque es la clave del mapa. 1109 00:46:52,420 --> 00:46:53,960 Y además hay que ponerla como no tomada. 1110 00:46:55,320 --> 00:46:56,739 Nuestro día ya está construido. 1111 00:47:00,219 --> 00:47:01,880 Ahora, ¿qué es lo que le falta al evento? 1112 00:47:02,480 --> 00:47:05,880 El día está construido, pero luego hay que mostrar el área de texto. 1113 00:47:05,880 --> 00:47:08,400 hay que mostrar el área de texto 1114 00:47:08,400 --> 00:47:10,820 el listado, este de aquí 1115 00:47:10,820 --> 00:47:12,400 hay que mostrarlo 1116 00:47:12,400 --> 00:47:14,739 entonces ahora ya simplemente vamos a construir 1117 00:47:14,739 --> 00:47:17,280 un string recorriendo las tomas 1118 00:47:17,280 --> 00:47:19,139 concatenando 1119 00:47:19,139 --> 00:47:21,159 sin más, para pegar eso en el área de texto 1120 00:47:21,159 --> 00:47:21,699 y se acabó 1121 00:47:21,699 --> 00:47:23,840 pues venga, vamos a poner 1122 00:47:23,840 --> 00:47:26,099 el texto que vamos a fijar en el área de texto 1123 00:47:26,099 --> 00:47:27,380 vamos a ponerlo aquí 1124 00:47:27,380 --> 00:47:29,400 string texto 1125 00:47:29,400 --> 00:47:32,280 inicialmente así 1126 00:47:32,280 --> 00:47:37,000 ala 1127 00:47:37,000 --> 00:47:49,199 Y ahora vamos a recorrer las medicaciones que le toca tomar, que están aquí en el día actual, vamos a recorrerlas para irlas concatenando. 1128 00:47:49,199 --> 00:47:49,780 y ya está 1129 00:47:49,780 --> 00:47:51,340 pues ahora 1130 00:47:51,340 --> 00:47:53,840 para cada string 1131 00:47:53,840 --> 00:47:57,019 que es la medicación correspondiente 1132 00:47:57,019 --> 00:47:59,079 como ya tengo mucha M 1133 00:47:59,079 --> 00:47:59,719 mucha E 1134 00:47:59,719 --> 00:48:00,300 no sé qué 1135 00:48:00,300 --> 00:48:00,880 vamos a 1136 00:48:00,880 --> 00:48:02,559 en 1137 00:48:02,559 --> 00:48:04,199 día actual 1138 00:48:04,199 --> 00:48:09,260 punto get 1139 00:48:09,260 --> 00:48:11,260 medicaciones 1140 00:48:11,260 --> 00:48:12,340 este es el listado de medicaciones 1141 00:48:12,340 --> 00:48:13,340 de ese día concreto 1142 00:48:13,340 --> 00:48:14,199 que lo acabamos de hacer 1143 00:48:14,199 --> 00:48:16,539 pues que vamos a hacer 1144 00:48:16,539 --> 00:48:18,739 vamos a concatenar 1145 00:48:18,739 --> 00:48:19,900 S más 1146 00:48:19,900 --> 00:48:22,539 igual 1147 00:48:22,539 --> 00:48:27,489 la medicación concreta 1148 00:48:27,489 --> 00:48:28,690 que es esta 1149 00:48:28,690 --> 00:48:31,250 perdón, el texto 1150 00:48:31,250 --> 00:48:36,199 texto más igual la medicación 1151 00:48:36,199 --> 00:48:38,039 vale, que tenemos que concatenar 1152 00:48:38,039 --> 00:48:40,179 después de la medicación, un espacio 1153 00:48:40,179 --> 00:48:42,599 un espacio 1154 00:48:42,599 --> 00:48:44,159 vale, ya tenemos el espacio 1155 00:48:44,159 --> 00:48:45,880 vale, estoy construyendo este texto 1156 00:48:45,880 --> 00:48:47,059 y luego que hay que concatenar 1157 00:48:47,059 --> 00:48:49,519 hay que concatenar no tomada 1158 00:48:49,519 --> 00:48:52,019 bueno 1159 00:48:52,019 --> 00:48:53,880 si lo hacemos más general hay que concatenar 1160 00:48:53,880 --> 00:48:55,659 concatenar tomada 1161 00:48:55,659 --> 00:48:57,619 si hubiera un 1 1162 00:48:57,619 --> 00:48:59,039 en el lista de tomas 1163 00:48:59,039 --> 00:49:01,079 o no tomada si hubiera un 0 1164 00:49:01,079 --> 00:49:02,719 entonces vamos a hacerlo más en general 1165 00:49:02,719 --> 00:49:05,059 porque si eso lo vamos a construir luego 1166 00:49:05,059 --> 00:49:07,400 vale, pues entonces 1167 00:49:07,400 --> 00:49:09,320 ¿y qué más hay que concatenarle? 1168 00:49:09,860 --> 00:49:11,000 pues hay que concatenarle el qué? 1169 00:49:11,139 --> 00:49:13,280 pues tomada o no tomada, dependiendo 1170 00:49:13,280 --> 00:49:14,820 pues de nuevo podemos poner 1171 00:49:14,820 --> 00:49:17,340 a ver, si día 1172 00:49:17,340 --> 00:49:18,519 actual 1173 00:49:18,519 --> 00:49:21,880 ah no, porque estoy haciéndolo con un 1174 00:49:21,880 --> 00:49:23,000 con un for each 1175 00:49:23,000 --> 00:49:25,320 vale, entonces no, no, vamos a hacerlo 1176 00:49:25,320 --> 00:49:27,860 con un for de índice 1177 00:49:27,860 --> 00:49:29,480 porque las tomas 1178 00:49:29,480 --> 00:49:31,019 tengo que irme a la misma posición 1179 00:49:31,019 --> 00:49:33,099 vamos a hacer esto mismo con un for de índice 1180 00:49:33,099 --> 00:49:34,760 que se va a ver más claro 1181 00:49:34,760 --> 00:49:37,500 para cada i igual a 0 1182 00:49:37,500 --> 00:49:38,980 mientras i sea menor que 1183 00:49:38,980 --> 00:49:41,659 día actual 1184 00:49:41,659 --> 00:49:43,099 punto get 1185 00:49:43,099 --> 00:49:44,360 medicaciones 1186 00:49:44,360 --> 00:49:46,460 punto lens 1187 00:49:46,460 --> 00:49:48,679 punto size, perdón 1188 00:49:48,679 --> 00:49:51,619 porque es una colección incrementando 1189 00:49:51,619 --> 00:49:54,360 i, vale 1190 00:49:54,360 --> 00:49:56,219 Pues ahora, ¿qué tenemos que concatenar? 1191 00:49:59,030 --> 00:50:00,829 Tenemos que concatenar a texto 1192 00:50:00,829 --> 00:50:03,809 el nombre de la medicación 1193 00:50:03,809 --> 00:50:05,130 con un espacio. 1194 00:50:05,949 --> 00:50:07,989 Pues venga, el nombre de la medicación será 1195 00:50:07,989 --> 00:50:16,389 díaactual.getmedicaciones.geti 1196 00:50:16,389 --> 00:50:19,570 ¿Vale? 1197 00:50:20,630 --> 00:50:22,050 Eso es lo primero que concatenamos. 1198 00:50:22,150 --> 00:50:24,510 El nombre de la medicación más un espacio. 1199 00:50:26,510 --> 00:50:26,909 ¿Vale? 1200 00:50:27,550 --> 00:50:29,010 Lo voy a hacer en dos líneas separadas 1201 00:50:29,010 --> 00:50:29,650 para que no sea un lío. 1202 00:50:29,650 --> 00:50:31,050 ya tenemos concatenado 1203 00:50:31,050 --> 00:50:33,989 hasta aquí 1204 00:50:33,989 --> 00:50:36,650 el adiro espacio 1205 00:50:36,650 --> 00:50:39,570 nos falta concatenar el tomado o no tomado 1206 00:50:39,570 --> 00:50:40,949 en función de si está tomado o no 1207 00:50:40,949 --> 00:50:43,050 pues vamos a verlo 1208 00:50:43,050 --> 00:50:44,889 ¿qué más le vamos a concatenar a texto? 1209 00:50:45,289 --> 00:50:46,829 pues a texto le vamos a concatenar 1210 00:50:46,829 --> 00:50:49,090 tomado o no tomado 1211 00:50:49,090 --> 00:50:51,530 en función de si vale 0 o 1 1212 00:50:51,530 --> 00:50:53,750 el día actual que tomadas 1213 00:50:53,750 --> 00:50:54,989 pues venga, vamos a hacerlo 1214 00:50:54,989 --> 00:50:57,429 día 1215 00:50:57,429 --> 00:50:59,070 actual 1216 00:50:59,070 --> 00:51:02,510 punto get tomadas 1217 00:51:02,510 --> 00:51:05,130 punto get i 1218 00:51:05,130 --> 00:51:08,429 este es igual a cero 1219 00:51:08,429 --> 00:51:12,750 pues entonces vamos a concatenar 1220 00:51:12,750 --> 00:51:13,550 con no tomada 1221 00:51:13,550 --> 00:51:14,969 porque no está tomada 1222 00:51:14,969 --> 00:51:21,949 que no es cero, entonces será uno 1223 00:51:21,949 --> 00:51:24,590 pues concatenamos con tomada 1224 00:51:24,590 --> 00:51:26,570 dos puntos 1225 00:51:26,570 --> 00:51:28,469 esto se podría hacer con un if también 1226 00:51:28,469 --> 00:51:30,730 si esto 1227 00:51:30,730 --> 00:51:31,989 es igual a cero 1228 00:51:31,989 --> 00:51:33,510 texto más igual no tomada 1229 00:51:33,510 --> 00:51:35,230 Si no, texto más igual tomada 1230 00:51:35,230 --> 00:51:37,989 ¿Vale? 1231 00:51:41,199 --> 00:51:43,599 Y ahora nos falta ya concatenar con el salto de línea 1232 00:51:43,599 --> 00:51:45,420 Para que la siguiente medicación se vaya 1233 00:51:45,420 --> 00:51:46,480 A la línea de abajo 1234 00:51:46,480 --> 00:51:49,059 Texto más igual 1235 00:51:49,059 --> 00:51:54,480 Y se acabó el evento del combo 1236 00:51:54,480 --> 00:51:56,980 Ah bueno, no, nos falta fijar el área de texto 1237 00:51:56,980 --> 00:51:58,639 Tenemos el string que va al área de texto 1238 00:51:58,639 --> 00:51:59,920 ¿El área de texto cómo se llama? 1239 00:52:00,940 --> 00:52:03,019 El área de texto se llamaba 1240 00:52:03,019 --> 00:52:08,900 El text area 1241 00:52:08,900 --> 00:52:18,480 Listado tomas 1242 00:52:18,480 --> 00:52:20,980 Se llamaba el text area 1243 00:52:20,980 --> 00:52:22,980 control c 1244 00:52:22,980 --> 00:52:27,409 pues venga, nos vamos aquí al evento 1245 00:52:27,409 --> 00:52:35,400 set test 1246 00:52:35,400 --> 00:52:37,599 e texto 1247 00:52:37,599 --> 00:52:41,869 vale 1248 00:52:41,869 --> 00:52:44,679 vale 1249 00:52:44,679 --> 00:52:49,150 entonces, aparte de esto rojo que ahora lo 1250 00:52:49,150 --> 00:52:50,190 quitamos 1251 00:52:50,190 --> 00:52:54,800 el evento, si lo repasamos 1252 00:52:54,800 --> 00:52:56,039 el evento del combo ex 1253 00:52:56,039 --> 00:52:58,840 nos quedamos con el día seleccionado en el combo box 1254 00:52:58,840 --> 00:53:01,199 get selected item, nos hemos quedado con ese día 1255 00:53:01,199 --> 00:53:02,800 ahora, construimos un día actual 1256 00:53:02,800 --> 00:53:04,920 con la información de medicaciones para ese día 1257 00:53:04,920 --> 00:53:06,920 si el día es lunes 1258 00:53:06,920 --> 00:53:08,800 el día será además recordatorio 1259 00:53:08,800 --> 00:53:09,760 con el mensajito 1260 00:53:09,760 --> 00:53:12,179 si no lo es, será un día normal 1261 00:53:12,179 --> 00:53:14,179 ahora recorremos 1262 00:53:14,179 --> 00:53:16,199 el map de medicaciones 1263 00:53:16,199 --> 00:53:18,539 para cada medicación 1264 00:53:18,539 --> 00:53:20,920 nos quedamos con los días 1265 00:53:20,920 --> 00:53:22,960 a la semana que toca tomar esa medicación 1266 00:53:22,960 --> 00:53:25,239 este código es 1267 00:53:25,239 --> 00:53:26,699 si 1268 00:53:26,699 --> 00:53:28,579 los días a la semana 1269 00:53:28,579 --> 00:53:31,019 que toca tomar 1270 00:53:31,019 --> 00:53:31,940 esa medicación 1271 00:53:31,940 --> 00:53:35,260 es el que tenemos seleccionado aquí 1272 00:53:35,260 --> 00:53:37,739 y para eso hemos hecho ese código 1273 00:53:37,739 --> 00:53:39,739 que lo repasáis despacio 1274 00:53:39,739 --> 00:53:40,219 el que no 1275 00:53:40,219 --> 00:53:42,360 el que se haga un lío 1276 00:53:42,360 --> 00:53:44,119 pues entonces añado 1277 00:53:44,119 --> 00:53:46,639 las medicaciones de mi día actual 1278 00:53:46,639 --> 00:53:47,380 esa medicación 1279 00:53:47,380 --> 00:53:48,900 y la marco como no tomada 1280 00:53:48,900 --> 00:53:49,420 a cero 1281 00:53:49,420 --> 00:53:50,340 y ya está 1282 00:53:50,340 --> 00:53:51,440 ya tenemos el día hecho 1283 00:53:51,440 --> 00:53:53,420 y ahora ya construimos 1284 00:53:53,420 --> 00:53:54,199 el área de texto 1285 00:53:54,199 --> 00:53:54,940 con la información 1286 00:53:54,940 --> 00:53:55,780 un string 1287 00:53:55,780 --> 00:53:57,719 con las medicaciones que toca 1288 00:53:57,719 --> 00:53:59,460 separada por espacio 1289 00:53:59,460 --> 00:54:01,619 separada por tomada o no tomada 1290 00:54:01,619 --> 00:54:03,760 en función de si está no tomada o no, en este caso 1291 00:54:03,760 --> 00:54:05,760 van a ser no tomadas todas, pero acabamos 1292 00:54:05,760 --> 00:54:07,659 de empezar, y ahora ya ponemos 1293 00:54:07,659 --> 00:54:09,139 este texto en el área de texto 1294 00:54:09,139 --> 00:54:11,780 ahora, ¿por qué me aparece aquí rojo 1295 00:54:11,780 --> 00:54:16,800 esto? me aparece rojo 1296 00:54:16,800 --> 00:54:18,039 esto de aquí, ¿por qué? 1297 00:54:24,000 --> 00:54:25,420 claro, porque lo tengo 1298 00:54:25,420 --> 00:54:27,420 dentro, pero aquí hay una 1299 00:54:27,420 --> 00:54:29,300 cosa peculiar, particular, o sea 1300 00:54:29,300 --> 00:54:31,179 yo esto la tengo dentro, la tengo aquí 1301 00:54:31,179 --> 00:54:32,579 como local 1302 00:54:32,579 --> 00:54:34,780 entonces podría sacarla fuera 1303 00:54:34,780 --> 00:54:36,679 Y solucionado, ¿verdad? 1304 00:54:36,780 --> 00:54:38,119 Si me voy aquí a text area 1305 00:54:38,119 --> 00:54:39,800 La saco fuera 1306 00:54:39,800 --> 00:54:42,519 Y listo 1307 00:54:42,519 --> 00:54:45,409 ¿Vale? 1308 00:54:46,570 --> 00:54:49,030 Y efectivamente se me ha quitado el error 1309 00:54:49,030 --> 00:54:50,710 Veo que ya no es tan rojo aquí 1310 00:54:50,710 --> 00:54:52,690 ¿Vale? Pero 1311 00:54:52,690 --> 00:54:53,690 Esto 1312 00:54:53,690 --> 00:54:57,250 Pero vamos a volverla a meter 1313 00:54:57,250 --> 00:54:58,610 A ver qué pasa 1314 00:54:58,610 --> 00:55:00,909 La voy a volver a meter para adentro 1315 00:55:00,909 --> 00:55:03,110 Cojo el área de texto 1316 00:55:03,110 --> 00:55:04,909 La meto otra vez para dejarla como estaba 1317 00:55:04,909 --> 00:55:06,809 Vale 1318 00:55:06,809 --> 00:55:08,849 entonces me vuelve a aparecer el error 1319 00:55:08,849 --> 00:55:10,989 pero es que esto es una cosa 1320 00:55:10,989 --> 00:55:13,190 especial, vamos a ver 1321 00:55:13,190 --> 00:55:13,969 esto en realidad 1322 00:55:13,969 --> 00:55:17,090 es una clase anónima que está dentro 1323 00:55:17,090 --> 00:55:18,849 del método, es una clase anónima 1324 00:55:18,849 --> 00:55:20,690 no es una clase interna 1325 00:55:20,690 --> 00:55:23,030 es una clase anónima y las clases anónimas se pueden 1326 00:55:23,030 --> 00:55:24,190 hacer dentro del método 1327 00:55:24,190 --> 00:55:27,010 entonces esto debería 1328 00:55:27,010 --> 00:55:29,070 tener acceso a las propiedades 1329 00:55:29,070 --> 00:55:31,090 las variables que están en el método 1330 00:55:31,090 --> 00:55:33,050 porque la clase anónima sí se puede hacer 1331 00:55:33,050 --> 00:55:33,849 dentro del método 1332 00:55:33,849 --> 00:55:36,449 no es como cuando hacemos una clase 1333 00:55:36,449 --> 00:55:38,269 interna, que la clase interna 1334 00:55:38,269 --> 00:55:40,090 está fuera del método, dentro de la clase 1335 00:55:40,090 --> 00:55:42,210 pero fuera del método, entonces solamente tiene acceso a las propiedades 1336 00:55:42,210 --> 00:55:44,070 de la clase, la clase interna 1337 00:55:44,070 --> 00:55:45,489 es que está a su vez dentro del método 1338 00:55:45,489 --> 00:55:48,070 luego tendría que tener acceso a las propiedades 1339 00:55:48,070 --> 00:55:50,130 del método, incluso aunque fueran 1340 00:55:50,130 --> 00:55:52,090 locales, y de hecho lo tiene 1341 00:55:52,090 --> 00:55:53,690 de hecho lo tiene 1342 00:55:53,690 --> 00:55:55,889 ¿vale? 1343 00:55:56,750 --> 00:55:58,469 porque yo aquí, por ejemplo 1344 00:55:58,469 --> 00:56:00,170 he accedido a listado días 1345 00:56:00,170 --> 00:56:02,230 y listado días también es 1346 00:56:02,230 --> 00:56:03,010 local al método 1347 00:56:03,010 --> 00:56:06,170 y sin embargo, ¿por qué ha listado Thomas no puede? 1348 00:56:07,530 --> 00:56:08,829 pues por una cosa muy tonta 1349 00:56:08,829 --> 00:56:11,469 que es muy antinatural, pero funciona así 1350 00:56:11,469 --> 00:56:15,800 porque está declarada más abajo 1351 00:56:15,800 --> 00:56:17,960 y la máquina virtual de Java 1352 00:56:17,960 --> 00:56:21,679 aunque no lo parezca, es interpretada 1353 00:56:21,679 --> 00:56:24,300 entonces al ser interpretada lleva un orden 1354 00:56:24,300 --> 00:56:27,739 entonces a veces esas características 1355 00:56:27,739 --> 00:56:30,039 de ser interpretada se ponen de manifiesto 1356 00:56:30,039 --> 00:56:33,059 entonces si cambiáis esto, esto mismo 1357 00:56:33,059 --> 00:56:35,380 y lo colocáis delante 1358 00:56:35,380 --> 00:56:37,440 aunque siga siendo local 1359 00:56:37,440 --> 00:56:38,980 se quita ese error 1360 00:56:38,980 --> 00:56:40,940 esa tontería tiene esto a veces 1361 00:56:40,940 --> 00:56:44,139 coño, debería quitarse 1362 00:56:44,139 --> 00:56:49,940 ah, vale, es que el error 1363 00:56:49,940 --> 00:56:51,179 es por otra cosa, vale, vale 1364 00:56:51,179 --> 00:56:55,099 vale, ¿veis? 1365 00:56:55,300 --> 00:56:56,579 se quita, entonces 1366 00:56:56,579 --> 00:56:59,519 en algunas situaciones muy concretas 1367 00:56:59,519 --> 00:57:01,659 se ve el carácter 1368 00:57:01,659 --> 00:57:02,900 interpretado de la máquina virtual 1369 00:57:02,900 --> 00:57:05,480 que es un carácter, que es una cosa 1370 00:57:05,480 --> 00:57:07,400 muy mala, los lenguajes interpretados 1371 00:57:07,400 --> 00:57:10,019 O sea, que tú dependas del orden es absurdo 1372 00:57:10,019 --> 00:57:13,739 Bueno, pues entonces 1373 00:57:13,739 --> 00:57:15,800 El evento del combo ahora ya sí que está completo 1374 00:57:15,800 --> 00:57:17,820 Y todo hecho 1375 00:57:17,820 --> 00:57:20,360 Que esto era lo más largo del código 1376 00:57:20,360 --> 00:57:21,619 El hacer este evento 1377 00:57:21,619 --> 00:57:22,780 ¿Vale? 1378 00:57:23,139 --> 00:57:24,639 Pero a ver, era programación de toda la vida 1379 00:57:24,639 --> 00:57:25,739 Recorrer un map 1380 00:57:25,739 --> 00:57:27,099 Y ya está 1381 00:57:27,099 --> 00:57:30,719 Entonces, vamos a probar ya 1382 00:57:30,719 --> 00:57:32,159 Ejecutar esto a ver qué pasa 1383 00:57:32,159 --> 00:57:33,960 Espera, voy a parar y volver a arrancar 1384 00:57:33,960 --> 00:57:35,139 Porque esto está quedando muy largo