1 00:00:00,430 --> 00:00:03,029 esta opción mía no está tan mal 2 00:00:03,029 --> 00:00:04,990 ah, pues 3 00:00:04,990 --> 00:00:06,309 así no vemos nada 4 00:00:06,309 --> 00:00:08,369 vale, primero 5 00:00:08,369 --> 00:00:09,929 vamos a completar 6 00:00:09,929 --> 00:00:14,429 espera, luego se lo comentas, de verdad, me caso 7 00:00:14,429 --> 00:00:16,309 aguanto un rato callado, de verdad 8 00:00:16,309 --> 00:00:17,149 un ratito solo 9 00:00:17,149 --> 00:00:20,309 bueno, pues solo tienes que aguantar 10 minutos 10 00:00:20,309 --> 00:00:22,210 más, de verdad, luego los últimos 5 11 00:00:22,210 --> 00:00:23,350 ya todo esto ya se 12 00:00:23,350 --> 00:00:26,210 vale, a ver, la opción 13 00:00:26,210 --> 00:00:28,329 nuevo, la opción nuevo que era la 14 00:00:28,329 --> 00:00:29,730 de si 15 00:00:29,730 --> 00:00:32,609 el ítem 16 00:00:32,609 --> 00:00:35,969 que le hemos pasado al evento, ese archivo 17 00:00:35,969 --> 00:00:37,869 ¿vale? pues en la opción 18 00:00:37,869 --> 00:00:39,170 nuevo ya había pedido un nombre 19 00:00:39,170 --> 00:00:41,409 y ¿qué he incorporado ahora? 20 00:00:41,530 --> 00:00:43,609 he incorporado ahora esto 21 00:00:43,609 --> 00:00:45,649 que decía aquí de, oye 22 00:00:45,649 --> 00:00:47,929 en la opción nuevo, si el nombre 23 00:00:47,929 --> 00:00:49,609 ya existe, que te diga 24 00:00:49,609 --> 00:00:51,509 oye ya existe un fichero con ese nombre, mete otro 25 00:00:51,509 --> 00:00:53,630 y así esté todo el rato, entonces ¿qué es lo único 26 00:00:53,630 --> 00:00:56,009 que he cambiado en la opción? pues lo he cambiado 27 00:00:56,009 --> 00:00:57,869 he metido un bucle do while 28 00:00:57,869 --> 00:00:59,609 un bucle do while que está 29 00:00:59,609 --> 00:01:00,770 todo el rato 30 00:01:00,770 --> 00:01:02,390 poniendo el 31 00:01:02,390 --> 00:01:04,069 el mensajito 32 00:01:04,069 --> 00:01:05,189 introduzca nombre de archivo 33 00:01:05,189 --> 00:01:06,450 todo el rato 34 00:01:06,450 --> 00:01:07,189 todo el rato 35 00:01:07,189 --> 00:01:08,489 mientras 36 00:01:08,489 --> 00:01:11,189 el fichero exista 37 00:01:11,189 --> 00:01:13,129 entonces 38 00:01:13,129 --> 00:01:13,950 lee nombre 39 00:01:13,950 --> 00:01:14,510 con el J 40 00:01:14,510 --> 00:01:15,250 opción pane 41 00:01:15,250 --> 00:01:16,469 y mientras exista 42 00:01:16,469 --> 00:01:17,150 vuelve a pedir 43 00:01:17,150 --> 00:01:18,090 para eso 44 00:01:18,090 --> 00:01:18,909 me he limitado a hacer 45 00:01:18,909 --> 00:01:20,430 un existe archivo 46 00:01:20,430 --> 00:01:21,090 lo primero que hace 47 00:01:21,090 --> 00:01:21,530 es esto 48 00:01:21,530 --> 00:01:23,969 devuelve 49 00:01:23,969 --> 00:01:25,030 contiene la clave 50 00:01:25,030 --> 00:01:25,349 nombre 51 00:01:25,349 --> 00:01:25,790 ya está 52 00:01:25,790 --> 00:01:26,709 este es el fichero 53 00:01:26,709 --> 00:01:27,409 existe archivo 54 00:01:27,409 --> 00:01:27,989 ya está 55 00:01:27,989 --> 00:01:28,689 no tiene nada más 56 00:01:28,689 --> 00:01:29,489 vale 57 00:01:29,489 --> 00:01:50,359 Pues entonces, aquí para que los option pane a partir del segundo te muestre el fichero ya existe y quede más bonito, es decir, para que el efecto sea este, a ver, voy a, como ahora mismo no hay archivos, el primero me va a dejar crearlo, ¿no? 58 00:01:50,359 --> 00:01:52,799 un nombre de archivo, gastos 59 00:01:52,799 --> 00:01:54,480 ala, aquí está 60 00:01:54,480 --> 00:01:56,359 pues bueno, vamos a imaginar que yo ahora quiero 61 00:01:56,359 --> 00:01:58,519 abrir otro 62 00:01:58,519 --> 00:02:00,579 he trabajado 63 00:02:00,579 --> 00:02:02,159 con otro, lo que sea, y ahora voy a 64 00:02:02,159 --> 00:02:03,120 nuevo 65 00:02:03,120 --> 00:02:06,640 me dice, pues nombre archivo 66 00:02:06,640 --> 00:02:08,539 y le vuelvo a dar gastos, este ya existe 67 00:02:08,539 --> 00:02:10,340 entonces me dice 68 00:02:10,340 --> 00:02:12,759 el fichero ya existe, introduzca nombre de archivo 69 00:02:12,759 --> 00:02:14,580 y así se está todo el rato 70 00:02:14,580 --> 00:02:15,840 el fichero ya existe 71 00:02:15,840 --> 00:02:18,180 hasta que le ponga uno que no existe, ¿no? 72 00:02:18,180 --> 00:02:20,280 vale, ese es el efecto 73 00:02:20,280 --> 00:02:22,280 que quiero lograr, que quiero ahora 74 00:02:22,280 --> 00:02:24,080 abrir, venga 75 00:02:24,080 --> 00:02:26,280 este, oye que el fichero ya existe 76 00:02:26,280 --> 00:02:27,240 introduce otro 77 00:02:27,240 --> 00:02:28,979 este no 78 00:02:28,979 --> 00:02:32,240 oye que el fichero ya existe, introduzca 79 00:02:32,240 --> 00:02:34,400 otro, entonces para lograr el efecto 80 00:02:34,400 --> 00:02:36,120 de que el mensajito del 81 00:02:36,120 --> 00:02:38,080 option pane cambie a partir de la 82 00:02:38,080 --> 00:02:39,360 segunda vez que te lo pide 83 00:02:39,360 --> 00:02:41,139 simplemente he hecho esto 84 00:02:41,139 --> 00:02:47,240 me he creado aquí un mensaje para 85 00:02:47,240 --> 00:02:49,319 concatenar antes de 86 00:02:49,319 --> 00:02:51,599 introduzca nombre archivo para concatenar. 87 00:02:52,340 --> 00:02:53,280 Entonces, si es la primera 88 00:02:53,280 --> 00:02:54,580 vez que entro en el do while, 89 00:02:55,099 --> 00:02:57,259 si es la primera vez, y sé que es 90 00:02:57,259 --> 00:02:59,319 la primera vez que entro en el do while porque el nombre todavía 91 00:02:59,319 --> 00:03:01,319 está nul. Entonces, si es la 92 00:03:01,319 --> 00:03:03,199 primera vez que entro en el do while, 93 00:03:03,659 --> 00:03:05,479 el mensajito a concatenar 94 00:03:05,479 --> 00:03:07,520 antes de introduzca que sea vacío. 95 00:03:08,740 --> 00:03:09,340 Y si 96 00:03:09,340 --> 00:03:11,340 nombre no es nul, es que es la segunda 97 00:03:11,340 --> 00:03:13,180 vez que entro en el do while. Entonces, 98 00:03:13,300 --> 00:03:15,240 en ese caso, que el mensajito a concatenar 99 00:03:15,240 --> 00:03:17,699 sea ese. ¿Vale? No os olvidéis 100 00:03:17,699 --> 00:03:19,120 del operador ternario y de estas cosas 101 00:03:19,120 --> 00:03:21,180 porque son las que hacen los códigos ágiles 102 00:03:21,180 --> 00:03:22,979 vale, pues ahora ya 103 00:03:22,979 --> 00:03:24,199 he hecho este bucle do while 104 00:03:24,199 --> 00:03:25,979 que está simplemente 105 00:03:25,979 --> 00:03:29,159 mostrando un jota opción para introduzca, introduzca, introduzca 106 00:03:29,159 --> 00:03:31,060 mientras el fichero exista 107 00:03:31,060 --> 00:03:33,080 y luego además con el truco 108 00:03:33,080 --> 00:03:35,180 este de concatenar con un mensajito antes 109 00:03:35,180 --> 00:03:36,759 a partir de la segunda 110 00:03:36,759 --> 00:03:38,340 me está avisando, ya existe 111 00:03:38,340 --> 00:03:41,099 y ya está, he incorporado este do while 112 00:03:41,099 --> 00:03:43,000 y una vez que ya ha salido de aquí 113 00:03:43,000 --> 00:03:45,139 guardo el fichero por ahora sin contenido 114 00:03:45,139 --> 00:03:47,120 lo creará nuevo 115 00:03:47,120 --> 00:03:49,020 fijo el archivo 116 00:03:49,020 --> 00:03:51,360 de trabajo con el nombre con el que estoy trabajando 117 00:03:51,360 --> 00:03:53,300 pongo 118 00:03:53,300 --> 00:03:54,819 el textarea vacío 119 00:03:54,819 --> 00:03:57,120 por si estuviera lleno de antes de haber trabajado 120 00:03:57,120 --> 00:03:59,419 con otro, y ya está, y pongo la etiqueta 121 00:03:59,419 --> 00:04:01,159 o sea, lo que he cambiado es el do while 122 00:04:01,159 --> 00:04:03,139 en realidad, ¿vale? bueno, ahora llevámonos 123 00:04:03,139 --> 00:04:04,680 a las otras opciones que estaban sin hacer 124 00:04:04,680 --> 00:04:07,120 esta está clara, ¿no? la de abrir 125 00:04:07,120 --> 00:04:08,840 la de abrir 126 00:04:08,840 --> 00:04:10,460 pues aquí abrir es lo mismo 127 00:04:10,460 --> 00:04:13,180 pero tenemos que estar pidiendo todo el rato 128 00:04:13,180 --> 00:04:15,199 mientras la condición sea la contraria 129 00:04:15,199 --> 00:04:16,220 es el mismo do while 130 00:04:16,220 --> 00:04:18,819 pero lo que he cambiado es la condición, mientras no 131 00:04:18,819 --> 00:04:20,680 exista, o sea es el mismo do while 132 00:04:20,680 --> 00:04:23,019 de arriba, pero he cambiado la condición 133 00:04:23,019 --> 00:04:24,759 mientras no exista, porque ahora 134 00:04:24,759 --> 00:04:26,420 estamos abriendo, mientras no exista 135 00:04:26,420 --> 00:04:28,680 patatín, y el mensajito que 136 00:04:28,680 --> 00:04:30,680 pongo precisamente es el contrario, el fichero no 137 00:04:30,680 --> 00:04:32,579 existe, introduce otro, el fichero no existe, introduce 138 00:04:32,579 --> 00:04:34,579 otro, entonces 139 00:04:34,579 --> 00:04:36,560 abrir es un bucle que está todo el rato 140 00:04:36,560 --> 00:04:37,660 mientras el fichero no exista 141 00:04:37,660 --> 00:04:40,300 y una vez que ha salido del bucle es porque 142 00:04:40,300 --> 00:04:42,120 el fichero existía 143 00:04:42,120 --> 00:04:44,540 lo recupera con el método 144 00:04:44,540 --> 00:04:46,620 lo recupera 145 00:04:46,620 --> 00:04:48,120 con el método y lo fija en el área de texto 146 00:04:48,120 --> 00:04:50,579 y ya está, entonces para eso me he hecho 147 00:04:50,579 --> 00:04:52,019 el método recuperar archivo 148 00:04:52,019 --> 00:04:53,480 que tiene una línea 149 00:04:53,480 --> 00:04:56,420 coge el valor de ese nombre y ya está, tiene una línea 150 00:04:56,420 --> 00:04:58,519 ese archivo, recuperar archivo tiene esta línea 151 00:04:58,519 --> 00:04:59,279 y se acabó 152 00:04:59,279 --> 00:05:02,379 y ahora lo fija 153 00:05:02,379 --> 00:05:04,079 en el área de texto y ya tenemos 154 00:05:04,079 --> 00:05:05,680 nuevo archivo de trabajo que es este 155 00:05:05,680 --> 00:05:08,180 si había uno de antes 156 00:05:08,180 --> 00:05:10,420 lo que no he hecho es que si tú abres uno y ya había uno 157 00:05:10,420 --> 00:05:11,959 no te dice ¿quieres guardar el que había? 158 00:05:12,500 --> 00:05:14,379 no, asume que tú lo has dado a guardar antes 159 00:05:14,379 --> 00:05:16,699 lleno nada, para no ir complicando 160 00:05:16,699 --> 00:05:17,800 el código, ¿vale? 161 00:05:18,040 --> 00:05:20,439 entonces la opción de abrir ya está completa 162 00:05:20,439 --> 00:05:22,459 te está todo el rato pidiendo 163 00:05:22,459 --> 00:05:24,439 mientras no exista y cuando 164 00:05:24,439 --> 00:05:26,819 existe te lo fija, la de guardar 165 00:05:26,819 --> 00:05:28,100 la de guardar es la más fácil 166 00:05:28,100 --> 00:05:30,600 ¿qué hace? le da al método 167 00:05:30,600 --> 00:05:31,540 de guardar archivo 168 00:05:31,540 --> 00:05:34,259 con el nombre del archivo de trabajo 169 00:05:34,259 --> 00:05:36,060 con el que estemos trabajando, que está siempre ahí 170 00:05:36,060 --> 00:05:38,259 y con el contenido del área de texto 171 00:05:38,259 --> 00:05:40,899 ya está, guardar archivo es sólo eso 172 00:05:40,899 --> 00:05:42,360 guarda archivo 173 00:05:42,360 --> 00:05:44,740 dando el nombre del archivo de trabajo 174 00:05:44,740 --> 00:05:46,180 que es con el que estás trabajando 175 00:05:46,180 --> 00:05:48,360 y el contenido del área de texto y se acabó 176 00:05:48,360 --> 00:05:51,040 y luego he puesto un mensajito que te avise que lo ha guardado 177 00:05:51,040 --> 00:05:52,060 para que no sea tan 178 00:05:52,060 --> 00:05:53,740 incómoda la interfaz 179 00:05:53,740 --> 00:05:55,420 guardar como 180 00:05:55,420 --> 00:05:58,899 es como guardar pero va a pedir previamente 181 00:05:58,899 --> 00:06:00,839 un nombre, de nuevo un bucle 182 00:06:00,839 --> 00:06:02,500 que se está pidiendo nombre 183 00:06:02,500 --> 00:06:05,040 mientras exista, porque el guardar 184 00:06:05,040 --> 00:06:06,819 como yo lo he puesto ahí para que sea 185 00:06:06,819 --> 00:06:08,279 como un nombre de archivo que no exista 186 00:06:08,279 --> 00:06:09,620 porque si no ya pisas el anterior 187 00:06:09,620 --> 00:06:12,360 pero bueno, si no queréis poner esta restricción 188 00:06:12,360 --> 00:06:13,680 pues no pongáis bucle y ya está 189 00:06:13,680 --> 00:06:15,939 entonces otra vez el mismo bucle 190 00:06:15,939 --> 00:06:18,459 que está todo el rato mientras el fichero 191 00:06:18,459 --> 00:06:20,120 exista, te dice introducir otro nombre 192 00:06:20,120 --> 00:06:21,259 para no pisar el que existe 193 00:06:21,259 --> 00:06:23,759 una vez que lo tienes, guardas el archivo 194 00:06:23,759 --> 00:06:25,459 te muestra archivo guardado y se acabó 195 00:06:25,459 --> 00:06:28,079 y ahora ya el nuevo archivo de trabajo 196 00:06:28,079 --> 00:06:30,040 se cambia con el nuevo nombre que has guardado 197 00:06:30,040 --> 00:06:32,579 y la de cerrar 198 00:06:32,579 --> 00:06:33,779 esta no tiene nada 199 00:06:33,779 --> 00:06:35,939 cerrar es todo a null, todo vacío 200 00:06:35,939 --> 00:06:36,560 y todo vacío 201 00:06:36,560 --> 00:06:38,639 Y ya está 202 00:06:38,639 --> 00:06:40,579 Estas serían todas las opciones de archivo 203 00:06:40,579 --> 00:06:41,319 Las de utilidades no 204 00:06:41,319 --> 00:06:47,519 Entonces si las probamos 205 00:06:47,519 --> 00:06:50,779 Lo que vosotros tendréis que conseguir 206 00:06:50,779 --> 00:06:51,560 Contra su programa 207 00:06:51,560 --> 00:06:53,120 Ahora mismo no tengo ninguno 208 00:06:53,120 --> 00:06:55,339 Entonces ahora mismo que yo le dé a abrir 209 00:06:55,339 --> 00:06:57,019 Me voy a meter en un bucle infinito 210 00:06:57,019 --> 00:06:58,860 Porque es que si yo le doy a abrir 211 00:06:58,860 --> 00:07:00,819 Aquí voy a estar todo el rato 212 00:07:00,819 --> 00:07:01,839 Es que no tengo ninguno 213 00:07:01,839 --> 00:07:03,120 Entonces va a estar todo el rato 214 00:07:03,120 --> 00:07:04,959 No existe, no existe, no existe 215 00:07:04,959 --> 00:07:06,680 Entonces nada, cancelar 216 00:07:06,680 --> 00:07:08,199 Fuera 217 00:07:08,199 --> 00:07:14,839 Bueno, es que como me he metido en un bucle, estoy en un bucle infinito con este jOptionPanel, ¿vale? 218 00:07:15,800 --> 00:07:23,600 Entonces, vamos a, tendría que, si la opción, si le hemos dado a cancelar, que se puede recoger también, 219 00:07:23,600 --> 00:07:27,000 pues, pero bueno, eso ya lo completé vosotros si queréis. 220 00:07:28,100 --> 00:07:35,100 Vale, pues, me metí en este bucle infinito, así que tengo que parar el proceso. 221 00:07:35,100 --> 00:07:36,860 a ver 222 00:07:36,860 --> 00:07:42,730 vale, pues hacemos uno nuevo 223 00:07:42,730 --> 00:07:44,230 ahora, uno nuevo, venga 224 00:07:44,230 --> 00:07:45,370 nombre de archivo 225 00:07:45,370 --> 00:07:48,410 aquí no va a haber problema porque es el primero 226 00:07:48,410 --> 00:07:50,430 pues gastos, venga 227 00:07:50,430 --> 00:07:52,449 este 228 00:07:52,449 --> 00:07:54,470 y trabajamos con el que le queremos guardar 229 00:07:54,470 --> 00:07:55,790 pues vale, lo guardamos 230 00:07:55,790 --> 00:07:57,829 ya está, el archivo ya está guardado 231 00:07:57,829 --> 00:07:59,970 vamos a hacer otro para poder luego abrir uno 232 00:07:59,970 --> 00:08:02,209 otro archivo, gastos, pues venga 233 00:08:02,209 --> 00:08:04,730 ingresos 234 00:08:04,730 --> 00:08:05,490 ya lo tenemos 235 00:08:05,490 --> 00:08:12,759 guardado 236 00:08:12,759 --> 00:08:14,879 Archivo guardado 237 00:08:14,879 --> 00:08:16,920 Ya tenemos dos archivos guardados con el contenido 238 00:08:16,920 --> 00:08:18,220 Vamos a suponer que le damos a cerrar 239 00:08:18,220 --> 00:08:20,959 Pues ya está, cerrado, aquí no hay nada 240 00:08:20,959 --> 00:08:22,100 Vamos a abrir uno de ellos 241 00:08:22,100 --> 00:08:24,459 Nos hemos equivocado poniendo el nombre 242 00:08:24,459 --> 00:08:27,100 Uy, no existe, pon uno que exista 243 00:08:27,100 --> 00:08:28,740 Gastos 244 00:08:28,740 --> 00:08:30,519 Que habíamos hecho uno, se llamaba gastos, ¿verdad? 245 00:08:32,460 --> 00:08:32,820 Gastos 246 00:08:32,820 --> 00:08:33,600 Pues ala, aquí está 247 00:08:33,600 --> 00:08:37,000 Que lo quiero guardar 248 00:08:37,000 --> 00:08:37,639 Con otro nombre 249 00:08:37,639 --> 00:08:39,539 Pues venga, guardar como 250 00:08:39,539 --> 00:08:42,500 Gastos 2 251 00:08:42,500 --> 00:08:46,100 ala, guardado 252 00:08:46,100 --> 00:08:48,779 y ya está aquí como gastos 2, ahora tengo 3 archivos 253 00:08:48,779 --> 00:08:52,080 ingresos, gastos, gastos 2, puedo abrir el que quiera 254 00:08:52,080 --> 00:08:55,080 por ejemplo, vamos a abrir el de ingresos 255 00:08:55,080 --> 00:08:59,080 pues este era el de ingresos 256 00:08:59,080 --> 00:09:02,519 y ya está, ya tenemos todas las opciones 257 00:09:02,519 --> 00:09:05,899 simuladas y completas, claro, le faltan cosas 258 00:09:05,899 --> 00:09:09,039 por pulir, pues si yo aquí he editado este 259 00:09:09,039 --> 00:09:12,000 no le doy a guardar 260 00:09:12,000 --> 00:09:13,000 y me pongo a abrir otro 261 00:09:13,000 --> 00:09:15,399 todo lo que yo he editado lo ignora 262 00:09:15,399 --> 00:09:18,120 entonces hombre, pero eso en el menú 263 00:09:18,120 --> 00:09:19,639 abrir puedo decir antes 264 00:09:19,639 --> 00:09:22,240 puedo meter antes el código para hacer una pregunta 265 00:09:22,240 --> 00:09:23,580 ¿quiere guardar lo que ya hay? 266 00:09:24,139 --> 00:09:26,120 y darle a guardar este archivo 267 00:09:26,120 --> 00:09:27,100 con el nombre de arriba 268 00:09:27,100 --> 00:09:28,960 antes de abrir lo otro, eso ya 269 00:09:28,960 --> 00:09:32,279 ¿vale? porque si no aquí 270 00:09:32,279 --> 00:09:34,100 el de ingresos 271 00:09:34,100 --> 00:09:35,340 la modificación que yo he hecho 272 00:09:35,340 --> 00:09:37,740 no se habrá hecho, de hecho si lo vuelvo a abrir 273 00:09:37,740 --> 00:09:43,080 no se guarda 274 00:09:43,080 --> 00:09:44,600 sin la modificación, lógicamente 275 00:09:44,600 --> 00:09:47,980 vale, pues todo este funcionamiento 276 00:09:47,980 --> 00:09:49,740 del menú está bastante 277 00:09:49,740 --> 00:09:51,600 completo, salvo por eso y salvo por el bloque 278 00:09:51,600 --> 00:09:52,399 infinito de abrir 279 00:09:52,399 --> 00:09:55,799 que está ahí, como yo no le di un archivo que exista 280 00:09:55,799 --> 00:10:02,659 bueno, pues entonces esta tarde 281 00:10:02,659 --> 00:10:04,580 subo esto para quien lo 282 00:10:04,580 --> 00:10:06,620 quiera utilizar, pero la idea es que lo completéis 283 00:10:06,620 --> 00:10:08,480 vosotros y 284 00:10:08,480 --> 00:10:10,539 más que perderos 285 00:10:10,539 --> 00:10:12,519 ahora mucho en las otras opciones 286 00:10:12,519 --> 00:10:14,720 las de utilidades, son rápidas de hacer 287 00:10:14,720 --> 00:10:16,440 sobre todo 288 00:10:16,440 --> 00:10:18,419 quiero que de la otra hoja, esta de aquí 289 00:10:18,419 --> 00:10:21,740 pues os pongáis con estos últimos 290 00:10:21,740 --> 00:10:23,600 estos últimos 291 00:10:23,600 --> 00:10:24,519 si no los habéis hecho 292 00:10:24,519 --> 00:10:27,440 ¿vale? que permiten un poco practicar 293 00:10:27,440 --> 00:10:29,759 programación también, clases y todo eso 294 00:10:29,759 --> 00:10:31,620 y ahora lo otro que estabais 295 00:10:31,620 --> 00:10:33,159 hablando, vamos a ver 296 00:10:33,159 --> 00:10:36,669 otras opciones para 297 00:10:36,669 --> 00:10:38,210 capturar 298 00:10:38,210 --> 00:10:43,220 los eventos 299 00:10:43,220 --> 00:10:44,259 o sea, para hacer esta clase 300 00:10:44,259 --> 00:10:46,580 a ver, ¿qué problema 301 00:10:46,580 --> 00:10:49,059 habíamos tenido nosotros 302 00:10:49,059 --> 00:10:50,820 cuando archivo 1, archivo 2 303 00:10:50,820 --> 00:10:51,379 era local 304 00:10:51,379 --> 00:10:54,820 cuando archivo 1, archivo 2 305 00:10:54,820 --> 00:10:56,799 era local, el problema que teníamos 306 00:10:56,799 --> 00:10:58,480 era que no es visible 307 00:10:58,480 --> 00:10:59,659 desde esta clase interna 308 00:10:59,659 --> 00:11:02,759 entonces hemos solucionado que no sea visible 309 00:11:02,759 --> 00:11:04,240 sacándolo fuera 310 00:11:04,240 --> 00:11:05,340 vale 311 00:11:05,340 --> 00:11:08,740 pero si nosotros no queremos sacarlo fuera 312 00:11:08,740 --> 00:11:10,179 vamos a volver a meterlas dentro 313 00:11:10,179 --> 00:11:12,559 bueno no, porque voy a estropear este 314 00:11:12,559 --> 00:11:14,279 tengo la otra clase hecha abajo 315 00:11:14,279 --> 00:11:16,620 vale, vamos a suponer que no queremos 316 00:11:16,620 --> 00:11:18,279 sacarlo afuera por la razón que sea 317 00:11:18,279 --> 00:11:19,679 o que no podemos sacarlo fuera 318 00:11:19,679 --> 00:11:21,559 ¿qué solución tenemos? 319 00:11:22,159 --> 00:11:24,039 bueno, pues yo aquí tengo otra clase interna 320 00:11:24,039 --> 00:11:25,399 esta otra de aquí 321 00:11:25,399 --> 00:11:30,190 ¿dónde está? 322 00:11:39,549 --> 00:11:40,929 captura menú 2, esta 323 00:11:40,929 --> 00:11:43,389 en captura menú 2 324 00:11:43,389 --> 00:11:44,690 entonces, ¿cuál es aquí el problema? 325 00:11:44,870 --> 00:11:47,990 el problema aquí es que a esta variable yo no puedo acceder 326 00:11:47,990 --> 00:11:48,730 porque es local 327 00:11:48,730 --> 00:11:51,190 a esta variable no puedo acceder, ese es mi problema 328 00:11:51,190 --> 00:11:52,190 que a esta variable no puedo 329 00:11:52,190 --> 00:11:53,950 entonces, ¿qué tengo que hacer? 330 00:11:54,870 --> 00:11:56,570 pues hacerme un constructor 331 00:11:56,570 --> 00:11:58,990 en esta capturadora 332 00:11:58,990 --> 00:12:01,129 un constructor que la reciba 333 00:12:01,129 --> 00:12:02,570 que la reciba 334 00:12:02,570 --> 00:12:04,669 la recibe 335 00:12:04,669 --> 00:12:07,129 y la utiliza para inicializar 336 00:12:07,129 --> 00:12:08,129 una variable de clase 337 00:12:08,129 --> 00:12:10,929 y ahora ya puede acceder aquí 338 00:12:10,929 --> 00:12:12,769 porque está accediendo a la variable de clase 339 00:12:12,769 --> 00:12:15,070 y esta variable de clase 340 00:12:15,070 --> 00:12:16,929 a la que puede acceder 341 00:12:16,929 --> 00:12:18,409 sin ningún problema lógicamente 342 00:12:18,409 --> 00:12:21,429 la ha inicializado con lo que ha recibido 343 00:12:21,429 --> 00:12:21,990 desde aquí 344 00:12:21,990 --> 00:12:23,929 ¿vale? 345 00:12:25,110 --> 00:12:27,049 entonces, ahora ¿cuál es la diferencia? 346 00:12:27,049 --> 00:12:28,549 que cuando llamemos a 347 00:12:28,549 --> 00:12:30,190 cuando al ítem 348 00:12:30,190 --> 00:12:32,049 le pasemos el listener 349 00:12:32,049 --> 00:12:34,389 cuando uno hiciera esto 350 00:12:34,389 --> 00:12:36,110 lo pongo en comentarios porque está fuera de 351 00:12:36,110 --> 00:12:37,509 código, claro 352 00:12:37,509 --> 00:12:40,730 si cuando al archivo 1 353 00:12:40,730 --> 00:12:42,669 le añadieramos el addActionListener 354 00:12:42,669 --> 00:12:50,710 le tendríamos que pasar 355 00:12:50,710 --> 00:12:53,070 captura 356 00:12:53,070 --> 00:12:54,090 menú 2 357 00:12:54,090 --> 00:12:56,870 y a captura menú 2 le tengo que pasar 358 00:12:56,870 --> 00:12:58,389 yo el ítem 359 00:12:58,389 --> 00:13:00,750 el ítem con el que 360 00:13:00,750 --> 00:13:02,570 va a inicializar esto para trabajar 361 00:13:02,570 --> 00:13:04,789 es decir, le tendríamos que pasar 362 00:13:04,789 --> 00:13:11,450 esto, esta sería la diferencia 363 00:13:11,450 --> 00:13:13,269 entonces 364 00:13:13,269 --> 00:13:15,049 le pasamos por parámetro archivo 1 365 00:13:15,049 --> 00:13:17,429 que es a la variable a la que quiere acceder, se la pasamos 366 00:13:17,429 --> 00:13:19,149 por parámetro, entonces 367 00:13:19,149 --> 00:13:21,009 captura menú 2, la recoge 368 00:13:21,009 --> 00:13:22,789 y la usa para 369 00:13:22,789 --> 00:13:25,070 inicializar esto, con lo cual 370 00:13:25,070 --> 00:13:26,970 ahora esta y esta 371 00:13:26,970 --> 00:13:29,149 la local del método, esta sería la local del método 372 00:13:29,149 --> 00:13:31,210 que yo le he pasado, pues ahora 373 00:13:31,210 --> 00:13:33,029 la local del método y esta 374 00:13:33,029 --> 00:13:34,669 tienen lo mismo 375 00:13:34,669 --> 00:13:37,309 porque yo esta la he pasado 376 00:13:37,309 --> 00:13:38,429 por parámetro aquí 377 00:13:38,429 --> 00:13:40,149 con lo cual la local del método 378 00:13:40,149 --> 00:13:41,190 y esta tiene lo mismo 379 00:13:41,190 --> 00:13:44,029 entonces ahora ya captura menudos en su acción 380 00:13:44,029 --> 00:13:45,970 performe, ya puede acceder a esta 381 00:13:45,970 --> 00:13:47,610 sin problema, porque es esta 382 00:13:47,610 --> 00:13:49,370 que a su vez es idéntica 383 00:13:49,370 --> 00:13:51,330 a la local del método 384 00:13:51,330 --> 00:13:53,710 lo que pasa es que esto es un rollo 385 00:13:53,710 --> 00:13:56,149 porque tendría que hacerlo con todas 386 00:13:56,149 --> 00:13:57,590 las variables locales 387 00:13:57,590 --> 00:13:59,990 tendría que pasarle todas, es un constructo al que le pasan 388 00:13:59,990 --> 00:14:02,029 muchas cosas, entonces se hace un poco 389 00:14:02,029 --> 00:14:02,409 pesado 390 00:14:02,409 --> 00:14:05,549 claro, yo aquí 391 00:14:05,549 --> 00:14:07,669 he hecho esto solo para ver como se haría 392 00:14:07,669 --> 00:14:26,470 Entonces, archivo 1 lo tiene resuelto, archivo 1 ya la tiene resuelto, pero archivo 2 no la tiene resuelta. Entonces, tendría que pasar, tendría que hacer aquí propiedades para recoger todas las variables locales del constructor y luego pasárselas todas por aquí. 393 00:14:26,470 --> 00:14:32,580 ¿eh? y aquí claro 394 00:14:32,580 --> 00:14:34,019 y aquí declararlas también, claro 395 00:14:34,019 --> 00:14:36,240 ¿vale? entonces bueno 396 00:14:36,240 --> 00:14:38,100 si tengo muchas 397 00:14:38,100 --> 00:14:40,460 a las que acceder, pasárselas 398 00:14:40,460 --> 00:14:42,519 todas por parámetro, o bueno, puedo hacer algo mucho más 399 00:14:42,519 --> 00:14:44,419 cómodo, que es pasarle el frame 400 00:14:44,419 --> 00:14:46,320 ah no, porque sigue siendo local 401 00:14:46,320 --> 00:14:48,139 entonces el frame no le, nada, no, no 402 00:14:48,139 --> 00:14:49,980 olvídalo, como sigue siendo local 403 00:14:49,980 --> 00:14:51,100 a través del frame no puedes 404 00:14:51,100 --> 00:14:54,080 ¿vale? si la variable es local al constructor 405 00:14:54,080 --> 00:14:56,279 claro, pero para 406 00:14:56,279 --> 00:14:57,480 pasar el frame entero 407 00:14:57,480 --> 00:15:00,000 las variables tendrían que ser 408 00:15:00,000 --> 00:15:01,200 propiedades del frame 409 00:15:01,200 --> 00:15:02,759 para luego poder acceder a ellas 410 00:15:02,759 --> 00:15:05,419 pero si son locales al constructor 411 00:15:05,419 --> 00:15:06,879 pasando el frame no arreglo nada 412 00:15:06,879 --> 00:15:23,120 vale, pues venga