1 00:00:00,000 --> 00:00:05,559 Vale, parte segunda de interfaces gráficas, vale, entonces estamos haciendo esto 2 00:00:05,559 --> 00:00:15,300 Hemos creado una clase de ejemplo, vale, dentro tenemos un main que lo que hace es crear otro thread 3 00:00:15,300 --> 00:00:22,300 Que es el que creará y se ocupará de las ventanas de la interfaz gráfica 4 00:00:22,300 --> 00:00:28,199 Y aquí en el run defino que voy a hacer, vale, lo que nos interesa principalmente, esto será siempre así 5 00:00:28,199 --> 00:00:30,039 Es esto, ¿vale? 6 00:00:30,140 --> 00:00:34,679 Entonces lo que hemos hecho aquí es crearnos un nuevo objeto que es un frame 7 00:00:34,679 --> 00:00:40,880 ¿Vale? Porque ejemplo GUI es en realidad un GFrame 8 00:00:40,880 --> 00:00:42,539 Y luego lo hacemos visible 9 00:00:42,539 --> 00:00:45,500 Entonces hemos visto antes que al ejecutarlo 10 00:00:45,500 --> 00:00:48,359 Pues aquí se crea una ventanita 11 00:00:48,359 --> 00:00:51,280 Ahí está, ¿vale? 12 00:00:51,700 --> 00:00:56,060 Y que, fijaos, que esto está funcionando 13 00:00:56,060 --> 00:00:57,799 ¿Vale? Es rojo aquí el puntito 14 00:00:57,799 --> 00:01:01,939 Y que si yo pillo esta ventana 15 00:01:01,939 --> 00:01:02,979 Y la cierro 16 00:01:02,979 --> 00:01:06,019 Mi programa no se ha acabado 17 00:01:06,019 --> 00:01:07,140 Sigue allí 18 00:01:07,140 --> 00:01:08,480 ¿Vale? 19 00:01:09,260 --> 00:01:10,319 O sea que por defecto 20 00:01:10,319 --> 00:01:11,739 Si yo cierro la ventana 21 00:01:11,739 --> 00:01:13,140 El programa no termina 22 00:01:13,140 --> 00:01:14,480 Hará otras cosas 23 00:01:14,480 --> 00:01:15,280 Se quedará allí 24 00:01:15,280 --> 00:01:16,980 Habrá este thread que está por allí 25 00:01:16,980 --> 00:01:17,739 Encendido 26 00:01:17,739 --> 00:01:19,480 Haciendo no se sabe bien cosa 27 00:01:19,480 --> 00:01:21,019 Porque tened en cuenta que 28 00:01:21,019 --> 00:01:24,000 Esto no es algo que he hecho yo directamente 29 00:01:24,000 --> 00:01:24,780 Esto es 30 00:01:24,780 --> 00:01:32,780 un hilo de ejecución que se queda allí esperando a que pasen eventos a que 31 00:01:32,780 --> 00:01:37,040 pasen cosas y que mi ventana reaccione a estos eventos 32 00:01:37,040 --> 00:01:42,079 vale entonces se queda encendido a la espera de que a lo mejor alguien 33 00:01:42,079 --> 00:01:46,579 reactive la ventana o que haga algún cambio en esa ventana o cosa por el 34 00:01:46,579 --> 00:01:52,939 estilo lo que sí acabaría es mi main mi main aquí acaba 35 00:01:52,939 --> 00:02:15,289 Mi main este de aquí, después de haber ejecutado esto, tened en cuenta, aquí si yo pongo siso, main acaba, cuando lo ejecuto, pues este main acaba se se lanza, el main ha acabado, pero la ventana no. 36 00:02:15,289 --> 00:02:17,689 Aquí hay dos threads 37 00:02:17,689 --> 00:02:20,370 Thread main que seguirá por su cuenta 38 00:02:20,370 --> 00:02:21,930 Y en este caso ha escrito 39 00:02:21,930 --> 00:02:23,789 El main acaba y ha terminado 40 00:02:23,789 --> 00:02:26,009 Y el otro thread que es el que se 41 00:02:26,009 --> 00:02:27,909 Gestiona esta ventana 42 00:02:27,909 --> 00:02:30,009 Que sigue allí gestionando la ventana 43 00:02:30,009 --> 00:02:31,969 Por ejemplo el hecho que yo pueda 44 00:02:31,969 --> 00:02:34,409 Rehacer un resize de la ventana 45 00:02:34,409 --> 00:02:35,969 Es porque alguien me está 46 00:02:35,969 --> 00:02:38,449 Recogiendo que la ventana ha cambiado 47 00:02:38,449 --> 00:02:39,530 Y me la dibuja otra vez 48 00:02:39,530 --> 00:02:40,710 En cierto sentido 49 00:02:40,710 --> 00:02:44,189 Cierro, ese sigue allí 50 00:02:44,189 --> 00:02:45,969 Esperando cosas, pues cierra aquí 51 00:02:45,969 --> 00:02:47,169 Pues ahora está terminado 52 00:02:47,169 --> 00:02:50,090 El otro thread también 53 00:02:50,090 --> 00:02:50,729 ¿Vale? 54 00:02:54,199 --> 00:02:54,960 Entonces 55 00:02:54,960 --> 00:02:57,780 Esto es lo básico 56 00:02:57,780 --> 00:03:00,159 He creado un frame 57 00:03:00,159 --> 00:03:01,479 Y una ventana 58 00:03:01,479 --> 00:03:03,819 ¿Qué más puedo hacer? 59 00:03:03,819 --> 00:03:04,099 Pues 60 00:03:04,099 --> 00:03:06,860 Vamos a complicar un poquito 61 00:03:06,860 --> 00:03:10,159 El ejemplo 62 00:03:10,159 --> 00:03:10,479 ¿Vale? 63 00:03:10,840 --> 00:03:13,259 Entonces nosotros tenemos nuestra clase 64 00:03:13,259 --> 00:03:14,979 Ejemplo, vamos a crear 65 00:03:14,979 --> 00:03:17,039 Un constructor de este ejemplo 66 00:03:17,039 --> 00:03:19,060 Vamos a hacer que cuando yo creo el objeto 67 00:03:19,060 --> 00:03:21,360 Ejemplo, que hemos creado al otro lado 68 00:03:21,360 --> 00:03:23,060 Pues en vez de crearme 69 00:03:23,060 --> 00:03:25,319 Lo más básico posible, que es el GFrame 70 00:03:25,319 --> 00:03:27,300 Sin nada dentro, pues me cree 71 00:03:27,300 --> 00:03:28,620 Algo más, ¿vale? 72 00:03:29,080 --> 00:03:30,919 Entonces aquí por ejemplo, veis 73 00:03:30,919 --> 00:03:33,020 Que en el constructor de este 74 00:03:33,020 --> 00:03:35,060 Objeto, pues tengo algunas 75 00:03:35,060 --> 00:03:37,300 Opciones, algunas funcionalidades 76 00:03:37,300 --> 00:03:38,400 La primera 77 00:03:38,400 --> 00:03:41,120 SetDefaultCloseOperation 78 00:03:41,120 --> 00:03:42,759 Que es, ¿qué hago 79 00:03:42,759 --> 00:03:45,460 Cuando se cierra la ventana 80 00:03:45,460 --> 00:03:46,580 ¿Vale? 81 00:03:46,719 --> 00:03:48,159 Por defecto no hago nada 82 00:03:48,159 --> 00:03:50,639 Existe un valor 83 00:03:50,639 --> 00:03:52,300 Que es una 84 00:03:52,300 --> 00:03:54,840 Una constante 85 00:03:54,840 --> 00:03:56,639 Dentro de la clase JFrame 86 00:03:56,639 --> 00:03:59,159 Que si lo uso, se llama exit on close 87 00:03:59,159 --> 00:04:01,060 Que me dice, vale, si apagas 88 00:04:01,060 --> 00:04:03,120 La ventana, cierra también 89 00:04:03,120 --> 00:04:04,300 El thread asociado 90 00:04:04,300 --> 00:04:06,620 Y por lo tanto si me apaga 91 00:04:06,620 --> 00:04:07,620 ¿Vale? 92 00:04:08,419 --> 00:04:09,479 Set bounds 93 00:04:09,479 --> 00:04:11,879 Me permite dar coordinadas 94 00:04:11,879 --> 00:04:12,719 Para decir 95 00:04:12,719 --> 00:04:15,139 Cuanto es grande mi ventana 96 00:04:15,139 --> 00:04:16,540 En el momento en que la entiendo 97 00:04:16,540 --> 00:04:18,500 Y tiene cuatro parámetros 98 00:04:18,500 --> 00:04:21,040 El punto X 99 00:04:21,040 --> 00:04:23,660 Donde aparecerá la ventana 100 00:04:23,660 --> 00:04:25,060 El punto Y 101 00:04:25,060 --> 00:04:27,000 Donde aparecerá la ventana 102 00:04:27,000 --> 00:04:29,600 El tamaño en ancho 103 00:04:29,600 --> 00:04:31,319 Y el tamaño en alto 104 00:04:31,319 --> 00:04:32,819 En píxeles 105 00:04:32,819 --> 00:04:34,660 Y desde el punto 0,0 106 00:04:34,660 --> 00:04:36,220 Que es arriba a la izquierda del monitor 107 00:04:36,220 --> 00:04:38,259 Parecido 108 00:04:38,259 --> 00:04:40,540 A lo que habéis visto en el ML 109 00:04:40,540 --> 00:04:44,720 No, es en píxeles 110 00:04:44,720 --> 00:04:45,980 ¿En porcentaje se podrá? 111 00:04:46,199 --> 00:04:46,680 No lo sé 112 00:04:46,680 --> 00:04:49,639 A lo mejor hay otro método 113 00:04:49,639 --> 00:04:51,339 Que te permite hacer 114 00:04:51,339 --> 00:04:54,279 Claramente tú aquí, en vez de poner 100 115 00:04:54,279 --> 00:04:56,500 Puedes preguntar al monitor 116 00:04:56,500 --> 00:04:57,600 Cuánto es grande 117 00:04:57,600 --> 00:05:00,819 Pillar el 50% de ese valor 118 00:05:00,819 --> 00:05:01,980 Y se te crea 119 00:05:01,980 --> 00:05:02,740 En el medio 120 00:05:02,740 --> 00:05:04,560 Puedes hacer cosas así 121 00:05:04,560 --> 00:05:06,540 No sé si ni siquiera se lo veremos 122 00:05:06,540 --> 00:05:09,720 Por algún lado, si buscas, sí que hay forma de hacerlo 123 00:05:09,720 --> 00:05:14,680 ContentPane 124 00:05:14,680 --> 00:05:16,540 Si os acordáis 125 00:05:16,540 --> 00:05:19,819 Era mi variable 126 00:05:19,819 --> 00:05:20,500 Esta de aquí 127 00:05:20,500 --> 00:05:23,339 Es un atributo 128 00:05:23,339 --> 00:05:25,779 De la clase ejemplo que estoy creando 129 00:05:25,779 --> 00:05:27,040 Que eso 130 00:05:27,040 --> 00:05:29,220 Sostantialmente me va a hacer 131 00:05:29,220 --> 00:05:30,860 De fondo de mi 132 00:05:30,860 --> 00:05:34,860 De mi ventana 133 00:05:34,860 --> 00:05:36,180 De mi frame 134 00:05:36,180 --> 00:05:39,019 Entonces me creo un nuevo JPanel 135 00:05:39,019 --> 00:05:42,360 Le defino, por ejemplo, un borde 136 00:05:42,360 --> 00:05:43,980 ¿Vale? Un borde lateral 137 00:05:43,980 --> 00:05:48,480 O sea, creo que esto es izquierda, derecha, arriba, abajo 138 00:05:48,480 --> 00:05:50,240 No lo sé, no me acuerdo, habría que verlo 139 00:05:50,240 --> 00:05:50,540 ¿Vale? 140 00:05:51,680 --> 00:05:53,620 Y le puedo asociar un layout 141 00:05:53,620 --> 00:05:55,839 ¿Vale? Por ahora no sabemos lo que es un layout 142 00:05:55,839 --> 00:05:58,120 Por ejemplo, aquí uso un border layout 143 00:05:58,120 --> 00:06:02,240 Es como se disponen los objetos que ponga allí dentro 144 00:06:02,240 --> 00:06:05,420 Si pongo un flow layout, son uno detrás de otro 145 00:06:05,420 --> 00:06:07,379 Si pongo un grid layout, es 146 00:06:07,379 --> 00:06:08,620 Me creo una 147 00:06:08,620 --> 00:06:13,060 ¿Qué es grid en español? 148 00:06:14,480 --> 00:06:15,720 Una rejilla 149 00:06:15,720 --> 00:06:16,860 ¿Sí? 150 00:06:18,160 --> 00:06:19,459 Es como una tabla 151 00:06:19,459 --> 00:06:19,699 ¿Sí? 152 00:06:20,620 --> 00:06:22,600 Pongo cuantas columnas y cuantas filas 153 00:06:22,600 --> 00:06:24,319 Y entonces cuando voy añadiendo los elementos 154 00:06:24,319 --> 00:06:26,000 Se pondrán en estas celdas 155 00:06:26,000 --> 00:06:28,300 Si pongo... Hay varios 156 00:06:28,300 --> 00:06:29,920 ¿Vale? Después se lo veremos 157 00:06:29,920 --> 00:06:31,199 Si pongo null 158 00:06:31,199 --> 00:06:33,600 Quiero decir que no quiero un 159 00:06:33,600 --> 00:06:36,120 Layout definido 160 00:06:36,120 --> 00:06:38,000 Anteriormente y soy yo que 161 00:06:38,000 --> 00:06:39,800 Gestiono cada uno de los elementos 162 00:06:39,800 --> 00:06:41,639 Poniendo donde 163 00:06:41,639 --> 00:06:44,000 Aparece y el tamaño que aparece 164 00:06:44,000 --> 00:06:46,399 ¿Vale? Entonces puedo hacer esta cosa 165 00:06:46,399 --> 00:06:47,980 Y luego si os fijáis 166 00:06:47,980 --> 00:06:49,439 Aquí con este comandor aquí 167 00:06:49,439 --> 00:06:50,720 Set content pane 168 00:06:50,720 --> 00:06:53,240 Estoy diciendo, oye mira 169 00:06:53,240 --> 00:06:56,000 Define 170 00:06:56,000 --> 00:06:57,839 Que el fondo 171 00:06:57,839 --> 00:06:59,319 El content pane 172 00:06:59,319 --> 00:07:01,519 De la ventana 173 00:07:01,519 --> 00:07:04,379 Es este objeto content pane 174 00:07:04,379 --> 00:07:05,420 Que acabo de crear 175 00:07:05,420 --> 00:07:06,860 Y que acabo de 176 00:07:06,860 --> 00:07:10,399 Configurar en un cierto sentido 177 00:07:10,399 --> 00:07:12,660 Oye, pregunta 178 00:07:12,660 --> 00:07:14,459 ¿Esto setContentPane 179 00:07:14,459 --> 00:07:15,720 ¿Sobre qué se llama? 180 00:07:15,939 --> 00:07:17,639 ¿Sobre qué objeto se está llamando? 181 00:07:22,860 --> 00:07:23,220 No 182 00:07:23,220 --> 00:07:29,860 Es decir, ¿sobre qué objeto? 183 00:07:30,399 --> 00:07:31,500 ¿Qué faltaría aquí? 184 00:07:37,680 --> 00:07:38,860 Exacto, this 185 00:07:38,860 --> 00:07:42,959 This 186 00:07:42,959 --> 00:07:46,000 Como cuando haces this.nombre 187 00:07:46,000 --> 00:07:46,720 Es igual a nombre 188 00:07:46,720 --> 00:07:48,680 Aquí estás haciendo 189 00:07:48,680 --> 00:07:50,699 This.setContentPanel 190 00:07:50,699 --> 00:07:52,240 Porque yo soy un JFrame 191 00:07:52,240 --> 00:07:54,139 Y sobre mi objeto 192 00:07:54,139 --> 00:07:55,180 Porque este es un constructor 193 00:07:55,180 --> 00:07:56,300 Sobre este objeto 194 00:07:56,300 --> 00:07:58,279 Crea, llama el método 195 00:07:58,279 --> 00:08:01,420 Configura el fondo 196 00:08:01,420 --> 00:08:03,600 Y le pasas el fondo que acabas de crear 197 00:08:03,600 --> 00:08:05,279 Entonces asocio 198 00:08:05,279 --> 00:08:07,660 Este tablón 199 00:08:07,660 --> 00:08:10,139 Este corcho 200 00:08:10,139 --> 00:08:11,920 Que he creado con las cosas 201 00:08:11,920 --> 00:08:12,819 Que he metido ahí entero 202 00:08:12,819 --> 00:08:15,379 Y lo asocio como fondo de mi pantalla 203 00:08:15,379 --> 00:08:16,699 De mi ventana 204 00:08:16,699 --> 00:08:18,040 ¿Se entiende más o menos? 205 00:08:19,519 --> 00:08:20,079 ¿No? 206 00:08:20,699 --> 00:08:25,720 Esto, todo esto 207 00:08:25,720 --> 00:08:26,620 ¿Qué objeto es? 208 00:08:28,199 --> 00:08:29,420 Ejemplo, ¿qué objeto es? 209 00:08:30,699 --> 00:08:31,720 Es un J 210 00:08:31,720 --> 00:08:32,019 J 211 00:08:32,019 --> 00:08:34,960 Frame 212 00:08:34,960 --> 00:08:37,379 ¿Vale? Porque extiende J frame 213 00:08:37,379 --> 00:08:38,340 ¿Y qué es J frame? 214 00:08:39,279 --> 00:08:41,000 La ventana, la pared 215 00:08:41,000 --> 00:08:43,539 ¿Vale? Ahora sobre la pared 216 00:08:43,539 --> 00:08:44,919 Yo tengo que poner cosas 217 00:08:44,919 --> 00:08:47,620 Y la primera cosa que pongo para organizarlos 218 00:08:47,620 --> 00:08:49,360 Es un fondo, es un corcho 219 00:08:49,360 --> 00:08:51,220 Sobre el que luego podré pegar las cosas 220 00:08:51,220 --> 00:08:52,340 Y ese es un 221 00:08:52,340 --> 00:08:54,740 Panel 222 00:08:54,740 --> 00:08:56,240 Es este panel de aquí 223 00:08:56,240 --> 00:08:57,240 Este 224 00:08:57,240 --> 00:08:59,539 Jpanel 225 00:08:59,539 --> 00:09:02,659 Entonces cuando creo un nuevo 226 00:09:02,659 --> 00:09:03,879 Frame 227 00:09:03,879 --> 00:09:07,259 Lo que hago es definir cosas para el frame 228 00:09:07,259 --> 00:09:09,500 Luego defino su fondo 229 00:09:09,500 --> 00:09:11,480 Que es creo un nuevo panel 230 00:09:11,480 --> 00:09:13,320 Le pongo los bordes 231 00:09:13,320 --> 00:09:15,960 Le pongo como se van a poner las cosas allí 232 00:09:15,960 --> 00:09:17,299 Le pongo un color de fondo 233 00:09:17,299 --> 00:09:18,299 Le pongo lo que sea 234 00:09:18,299 --> 00:09:20,440 De este panel 235 00:09:20,440 --> 00:09:21,480 Que da al fondo 236 00:09:21,480 --> 00:09:24,120 Y luego digo que, oye, JFrame 237 00:09:24,120 --> 00:09:25,500 Tu fondo 238 00:09:25,500 --> 00:09:28,059 Es esta cosa que acabo de crear 239 00:09:28,059 --> 00:09:35,820 Si, pero 240 00:09:35,820 --> 00:09:37,419 Podría 241 00:09:37,419 --> 00:09:39,960 Preguntar al JFrame de darme 242 00:09:39,960 --> 00:09:41,779 El objeto que él tiene 243 00:09:41,779 --> 00:09:43,279 Ahora mismo como fondo 244 00:09:43,279 --> 00:09:45,399 Y luego usar eso 245 00:09:45,399 --> 00:09:47,659 Pero que me asegura 246 00:09:47,659 --> 00:09:49,600 Que lo que tiene como fondo es un JFrame 247 00:09:49,600 --> 00:09:50,740 Seguro, vale 248 00:09:50,740 --> 00:09:53,419 Entonces la idea es que yo lo tengo aquí 249 00:09:53,419 --> 00:09:55,360 Me lo he creado yo 250 00:09:55,360 --> 00:09:57,139 Como diciendo, este es el fondo de mi pantalla 251 00:09:57,139 --> 00:09:58,500 De mi ventana 252 00:09:58,500 --> 00:10:01,000 Y luego lo uso para asociarlo allí 253 00:10:01,000 --> 00:10:01,779 ¿Vale? 254 00:10:01,879 --> 00:10:04,179 Es práctica estándar 255 00:10:04,179 --> 00:10:06,360 ¿Cómo? 256 00:10:07,360 --> 00:10:09,919 No, es un constructor 257 00:10:09,919 --> 00:10:14,149 Esto 258 00:10:14,149 --> 00:10:16,990 Ejemplo 259 00:10:16,990 --> 00:10:22,120 Aquí en este ejemplo es ejemplo 260 00:10:22,120 --> 00:10:23,840 El otro se llama ejemplo GUI 261 00:10:23,840 --> 00:10:26,139 Allí tendré que hacer public ejemplo GUI 262 00:10:26,139 --> 00:10:28,240 ¿Vale? Pero aquí es la casa ejemplo 263 00:10:28,240 --> 00:10:28,899 ¿Vale? 264 00:10:28,899 --> 00:10:30,580 Lo vamos a hacer de todas formas 265 00:10:30,580 --> 00:10:32,120 Esto más o menos se entiende 266 00:10:32,120 --> 00:10:34,980 Vamos a hacerlo paso por paso 267 00:10:34,980 --> 00:10:36,080 Y a ver que pasa 268 00:10:36,080 --> 00:10:41,090 Ahí 269 00:10:41,090 --> 00:10:42,669 Entonces 270 00:10:42,669 --> 00:10:45,350 Vamos a hacer lo mismo 271 00:10:45,350 --> 00:10:46,769 Esto era 272 00:10:46,769 --> 00:10:49,470 Antes no lo había puesto 273 00:10:49,470 --> 00:10:50,870 Entonces lo pongo ahora aquí 274 00:10:50,870 --> 00:10:52,950 Tengo un Jpanel 275 00:10:52,950 --> 00:10:54,730 Que será content 276 00:10:54,730 --> 00:10:55,909 Por ejemplo 277 00:10:55,909 --> 00:10:57,070 O fondo 278 00:10:57,070 --> 00:11:01,129 Que es igual a nada 279 00:11:01,129 --> 00:11:02,769 ¿Vale? 280 00:11:02,970 --> 00:11:06,570 Se enfada porque, claro, tengo que importarlo 281 00:11:06,570 --> 00:11:07,129 ¿Vale? 282 00:11:07,669 --> 00:11:09,889 Tengo que importar también el GFANEL, ahora lo tengo 283 00:11:09,889 --> 00:11:12,309 En el run me crea 284 00:11:12,309 --> 00:11:14,509 Un objeto y me lo hace visible 285 00:11:14,509 --> 00:11:15,049 ¿Vale? 286 00:11:15,470 --> 00:11:18,110 Pero yo todavía lo que no he hecho 287 00:11:18,110 --> 00:11:19,450 Es 288 00:11:19,450 --> 00:11:22,509 Crear un constructor de este señor de aquí 289 00:11:22,509 --> 00:11:24,370 Por lo tanto voy a crear un constructor 290 00:11:24,370 --> 00:11:25,389 De este señor de aquí 291 00:11:25,389 --> 00:11:27,289 ¿Vale? Entonces aquí, por ejemplo 292 00:11:27,289 --> 00:11:28,789 Public 293 00:11:28,789 --> 00:11:30,529 Ejemplo 294 00:11:30,529 --> 00:11:36,679 Sin parámetros 295 00:11:36,679 --> 00:11:37,840 Podría ponerlo si quiero 296 00:11:37,840 --> 00:11:39,960 Primero es super 297 00:11:39,960 --> 00:11:42,480 Voy a crear 298 00:11:42,480 --> 00:11:44,620 Todo lo que crea un JFrame 299 00:11:44,620 --> 00:11:46,460 Que es una cosa que no he hecho yo 300 00:11:46,460 --> 00:11:48,600 Es algo que ha importado y por lo tanto 301 00:11:48,600 --> 00:11:50,419 No sé que hará, pero lo hace 302 00:11:50,419 --> 00:11:52,460 Será todo lo que es necesario para crear 303 00:11:52,460 --> 00:11:54,299 El cuadradito eso que hemos visto antes 304 00:11:54,299 --> 00:11:56,440 Pero eso es algo que yo he pillado 305 00:11:56,440 --> 00:11:58,440 Prestado desde la API de Java 306 00:11:58,440 --> 00:11:59,759 No lo hago yo directamente 307 00:11:59,759 --> 00:12:01,980 Yo simplemente una vez pillado ese objeto 308 00:12:01,980 --> 00:12:04,440 Lo configuro para que 309 00:12:04,440 --> 00:12:05,820 Se modifique como yo quiero 310 00:12:05,820 --> 00:12:08,120 Con los métodos que me proporciona 311 00:12:08,120 --> 00:12:09,000 El JFrame 312 00:12:09,000 --> 00:12:12,120 Y entonces vamos a hacer 313 00:12:12,120 --> 00:12:13,799 Algunas cosas, por ejemplo 314 00:12:13,799 --> 00:12:18,320 This.set 315 00:12:18,320 --> 00:12:19,960 Que era esto 316 00:12:19,960 --> 00:12:21,360 Default 317 00:12:21,360 --> 00:12:28,980 SetDefaultCloseOperation 318 00:12:28,980 --> 00:12:30,899 Que pasa cuando se cierra 319 00:12:30,899 --> 00:12:32,299 Cual es la operación por default 320 00:12:32,299 --> 00:12:34,080 Tu puedes hacer otras operaciones pero 321 00:12:34,080 --> 00:12:36,240 Cual es la operación por defecto 322 00:12:36,240 --> 00:12:38,419 ¿Vale? Y fijaos que pilla un entero 323 00:12:38,419 --> 00:12:42,080 ¿Vale? Entonces aquí 324 00:12:42,080 --> 00:12:44,320 Habrá varias opciones 325 00:12:44,320 --> 00:12:46,679 Que yo puedo poner 326 00:12:46,679 --> 00:12:48,659 Que son numeritos, 1, 2, 3, 4, 5 327 00:12:48,659 --> 00:12:49,919 ¿Vale? Pero para 328 00:12:49,919 --> 00:12:52,340 Que yo no me tenga que acordar el 7 que hacía 329 00:12:52,340 --> 00:12:53,340 El 9 que hacía, pues 330 00:12:53,340 --> 00:12:55,220 La clase 331 00:12:55,220 --> 00:12:58,600 En JFrame 332 00:12:58,600 --> 00:13:00,620 Me proporciona 333 00:13:00,620 --> 00:13:01,679 Unas cuantas 334 00:13:01,679 --> 00:13:04,080 Constantes que tienen un nombre 335 00:13:04,080 --> 00:13:05,919 Para saber que si yo uso ese nombre 336 00:13:05,919 --> 00:13:07,840 Me dará el valor asociado 337 00:13:07,840 --> 00:13:08,840 Que hace esa operación 338 00:13:08,840 --> 00:13:11,000 En particular quiero el exit on close 339 00:13:11,000 --> 00:13:15,440 Como yo soy 340 00:13:15,440 --> 00:13:17,820 Un jframe, no hace falta que haga 341 00:13:17,820 --> 00:13:19,559 Jframe punto, yo soy esto 342 00:13:19,559 --> 00:13:22,259 Como aquí no hace falta 343 00:13:22,259 --> 00:13:23,659 Este dis 344 00:13:23,659 --> 00:13:25,779 Porque en realidad yo soy un jframe 345 00:13:25,779 --> 00:13:28,039 Entonces lo puedo llamar directamente 346 00:13:28,039 --> 00:13:30,340 Este método, como si este método estuviera en mi clase 347 00:13:30,340 --> 00:13:32,360 Porque estendo jframe 348 00:13:32,360 --> 00:13:33,820 Si 349 00:13:33,820 --> 00:13:35,039 Vale 350 00:13:35,039 --> 00:13:36,500 Entonces con esto 351 00:13:36,500 --> 00:13:38,100 Lo que he logrado 352 00:13:38,100 --> 00:13:40,500 Es que si ahora lanzo 353 00:13:40,500 --> 00:13:46,139 Mi ventanita 354 00:13:46,139 --> 00:13:47,879 ¿Os acordáis que antes 355 00:13:47,879 --> 00:13:50,659 Cuando la cerraba esto se quedaba encendido? 356 00:13:51,059 --> 00:13:52,240 Ahora cuando la cerro 357 00:13:52,240 --> 00:13:53,220 Esto se acaba 358 00:13:53,220 --> 00:13:56,440 Porque la operación por defecto al cerrar la cosa es 359 00:13:56,440 --> 00:13:57,519 Salir 360 00:13:57,519 --> 00:13:58,299 Exit 361 00:13:58,299 --> 00:13:59,360 Si 362 00:13:59,360 --> 00:14:02,240 Ok, sigue adelante 363 00:14:02,240 --> 00:14:03,120 Otra opción 364 00:14:03,120 --> 00:14:05,019 Hagamos más grande nuestra 365 00:14:05,019 --> 00:14:07,360 Ventana, que cuando abra 366 00:14:07,360 --> 00:14:09,419 Pues en vez de ser pequeñita arriba 367 00:14:09,419 --> 00:14:11,240 Pues tenga otro tamaño 368 00:14:11,240 --> 00:14:13,000 ¿Vale? Esto lo puede hacer 369 00:14:13,000 --> 00:14:14,559 Haciendo set bones 370 00:14:14,559 --> 00:14:16,799 ¿Vale? Que me dice 371 00:14:16,799 --> 00:14:19,399 ¿Cuánto a la izquierda la quiero mover? 372 00:14:19,740 --> 00:14:21,840 Pongamos 200 píxeles 373 00:14:21,840 --> 00:14:23,759 ¿Cuánto abajo la quiero poner? 374 00:14:23,940 --> 00:14:25,299 Pongamos 50 píxeles 375 00:14:25,299 --> 00:14:26,899 ¿Cuánto grande es? 376 00:14:27,220 --> 00:14:28,519 Pongamos 100 píxeles 377 00:14:28,519 --> 00:14:30,840 ¿Y cuánto alto es? 378 00:14:30,960 --> 00:14:31,779 100 píxeles 379 00:14:31,779 --> 00:14:35,740 Esto es el punto 380 00:14:35,740 --> 00:14:37,159 Donde empieza 381 00:14:37,159 --> 00:14:40,539 Esto es el tamaño de la ventana 382 00:14:40,539 --> 00:14:41,179 ¿Vale? 383 00:14:41,500 --> 00:14:43,100 Entonces si yo lanzo ahora 384 00:14:43,100 --> 00:14:45,080 En vez de aparecerme aquí pequeñita 385 00:14:45,080 --> 00:14:46,220 Pues me ha aparecido aquí 386 00:14:46,220 --> 00:14:50,519 Me ha aparecido a 250 píxeles 387 00:14:50,519 --> 00:14:53,519 200,50 388 00:14:53,519 --> 00:14:56,659 Y el tamaño es 100% 389 00:14:56,659 --> 00:14:58,539 Tened en cuenta que como los píxeles 390 00:14:58,539 --> 00:15:00,139 No son iguales en ancho 391 00:15:00,139 --> 00:15:02,019 En alto 392 00:15:02,019 --> 00:15:04,139 Pues esto es 100% 393 00:15:04,139 --> 00:15:05,840 Pero no es un cuadrado 394 00:15:05,840 --> 00:15:06,779 ¿Vale? 395 00:15:07,759 --> 00:15:10,120 Debería ser un cuadrado, aunque no me esté equivocando yo 396 00:15:10,120 --> 00:15:11,519 Mucho, ¿vale? 397 00:15:11,919 --> 00:15:14,000 Si claramente esto lo hago más grande 398 00:15:14,000 --> 00:15:25,889 ¿Sí? 399 00:15:26,769 --> 00:15:27,330 ¿Dudas? 400 00:15:32,480 --> 00:15:34,159 Entonces, fijaos que estos son 401 00:15:34,159 --> 00:15:35,259 Métodos de qué clase 402 00:15:35,259 --> 00:15:42,200 JFrame, ¿vale? 403 00:15:43,559 --> 00:15:44,899 JFrame, Java 404 00:15:44,899 --> 00:15:47,220 Entonces, si yo que soy buen estudiante 405 00:15:47,220 --> 00:15:48,559 Me voy a JFrame 406 00:15:48,559 --> 00:15:53,320 Y me miro todo lo que puedo hacer sobre un GFrame 407 00:15:53,320 --> 00:15:55,460 Que son estas cosas de aquí 408 00:15:55,460 --> 00:15:58,620 Más esta cosa aquí 409 00:15:58,620 --> 00:16:02,779 Heridadas de otras cosillas que están por ahí 410 00:16:02,779 --> 00:16:03,899 ¿Vale? 411 00:16:04,899 --> 00:16:12,220 Y en particular nosotros hemos usado el set default close operation 412 00:16:12,220 --> 00:16:14,620 ¿Vale? 413 00:16:14,620 --> 00:16:18,820 Y hemos visto 414 00:16:18,820 --> 00:16:21,159 Que tenemos algunos 415 00:16:21,159 --> 00:16:24,580 Por ejemplo 416 00:16:24,580 --> 00:16:26,899 El exit on close es un static int 417 00:16:26,899 --> 00:16:28,799 Que puedo utilizar 418 00:16:28,799 --> 00:16:30,200 Para que 419 00:16:30,200 --> 00:16:32,539 La aplicación sale 420 00:16:32,539 --> 00:16:34,220 Cuando acabo 421 00:16:34,220 --> 00:16:36,399 La ventana, cuando pago la ventana 422 00:16:36,399 --> 00:16:37,919 Entonces aquí 423 00:16:37,919 --> 00:16:40,500 Viene toda la información que necesite 424 00:16:40,500 --> 00:16:42,320 Tened en cuenta que un frame 425 00:16:42,320 --> 00:16:44,759 Es también un componente, es también una ventana 426 00:16:44,759 --> 00:16:46,340 O sea que está heredando 427 00:16:46,340 --> 00:16:48,240 Desde otras clases que están por allí 428 00:16:48,240 --> 00:16:50,039 Fijaos que estas son clases 429 00:16:50,039 --> 00:16:51,159 AVT 430 00:16:51,159 --> 00:16:53,879 ¿Os acordáis que decíamos que había tres como 431 00:16:53,879 --> 00:16:56,220 Grandes paquetes? Nosotros estamos viendo swing 432 00:16:56,220 --> 00:16:58,279 Que es una extensión de AVT 433 00:16:58,279 --> 00:17:00,539 AWT es como 434 00:17:00,539 --> 00:17:02,879 El paquete más básico 435 00:17:02,879 --> 00:17:04,099 ¿Vale? Donde están por ejemplo 436 00:17:04,099 --> 00:17:06,259 El frame, donde está la ventana 437 00:17:06,259 --> 00:17:08,259 Donde está el container, el componente 438 00:17:08,259 --> 00:17:09,559 Son las cosas más básicas 439 00:17:09,559 --> 00:17:11,460 El swing como que 440 00:17:11,460 --> 00:17:13,400 Extende un poco estas cosas 441 00:17:13,400 --> 00:17:15,500 Y las hace un poquito más potentes 442 00:17:15,500 --> 00:17:17,079 Se puede hacer un poquito más de cosas 443 00:17:17,079 --> 00:17:19,400 Añade métodos 444 00:17:19,400 --> 00:17:21,599 Y funcionalidades un poquito más 445 00:17:21,599 --> 00:17:22,779 Interesantes, vale 446 00:17:22,779 --> 00:17:25,819 Entonces 447 00:17:25,819 --> 00:17:27,059 Vuelvo aquí 448 00:17:27,059 --> 00:17:29,119 Entonces, ahora vamos a empezar a trabajar 449 00:17:29,119 --> 00:17:31,400 Con esto, con el jPanel 450 00:17:32,079 --> 00:17:33,500 Vale, entonces lo que me hago 451 00:17:33,500 --> 00:17:35,119 Es, vale, fondo 452 00:17:35,119 --> 00:17:37,500 Es igual a new jPanel 453 00:17:37,500 --> 00:17:40,500 Creo un nuevo JPanel 454 00:17:40,500 --> 00:17:42,660 Ahora estoy trabajando con otra 455 00:17:42,660 --> 00:17:45,700 JPanel 456 00:17:45,700 --> 00:17:48,299 Con otra clase 457 00:17:48,299 --> 00:17:50,759 Esta clase aquí que es JPanel 458 00:17:50,759 --> 00:17:52,359 Entonces si quiero saber 459 00:17:52,359 --> 00:17:53,759 Que puede hacer JPanel 460 00:17:53,759 --> 00:17:55,619 Me voy a su API 461 00:17:55,619 --> 00:17:57,779 Y veo todos los métodos que tiene 462 00:17:57,779 --> 00:18:00,079 Y que hereda también es un 463 00:18:00,079 --> 00:18:02,420 JComponent, que es un container 464 00:18:02,420 --> 00:18:03,759 Que es también un component 465 00:18:03,759 --> 00:18:05,079 Que es un object, etc 466 00:18:05,079 --> 00:18:08,000 Entonces, todos estos son métodos que puedo utilizar 467 00:18:08,000 --> 00:18:09,099 ¿Vale? 468 00:18:11,279 --> 00:18:13,759 En particular, lo que puedo hacer 469 00:18:13,759 --> 00:18:15,059 Es darle un tamaño 470 00:18:15,059 --> 00:18:19,839 Aquí usa setBorder 471 00:18:19,839 --> 00:18:21,440 setBorder 472 00:18:21,440 --> 00:18:23,420 A ver donde está por aquí 473 00:18:23,420 --> 00:18:24,539 Si lo encuentro 474 00:18:24,539 --> 00:18:30,759 Es aquí 475 00:18:30,759 --> 00:18:32,319 Es una cosa que proviene 476 00:18:32,319 --> 00:18:34,980 Que deriva desde jComponent 477 00:18:34,980 --> 00:18:37,480 O sea, todos los jComponent tendrán este setBorder 478 00:18:37,480 --> 00:18:38,859 Si voy a mirar 479 00:18:38,859 --> 00:18:40,319 Que hace, me pilla un border 480 00:18:40,319 --> 00:18:42,440 O me pilla una serie de numeritos 481 00:18:42,440 --> 00:18:45,240 Y lo que hace es setar los bordes del componente 482 00:18:45,240 --> 00:18:46,579 Bla, bla, bla, y te lo explica 483 00:18:46,579 --> 00:18:48,180 ¿Vale? Entonces cada una de estas cosas 484 00:18:48,180 --> 00:18:50,099 Me lo puede definir 485 00:18:50,099 --> 00:18:52,579 Si, lo voy a hacer 486 00:18:52,579 --> 00:18:54,440 Yo creo que estos son los bordes 487 00:18:54,440 --> 00:18:56,859 Que te deja alrededor 488 00:18:56,859 --> 00:18:58,400 De este panel, ¿vale? 489 00:18:58,819 --> 00:19:00,859 Entonces yo haría fondo.setborder 490 00:19:02,400 --> 00:19:02,859 De 491 00:19:03,660 --> 00:19:04,900 Aquí 492 00:19:04,900 --> 00:19:05,779 ¿Qué ponía? 493 00:19:05,779 --> 00:19:07,920 10, 5, 5, 5 494 00:19:07,920 --> 00:19:11,920 Estos son 495 00:19:11,920 --> 00:19:13,880 Los borders a todos lados 496 00:19:13,880 --> 00:19:15,420 ¿Vale? Esto se enfada 497 00:19:15,420 --> 00:19:19,140 ¿Son los dos? 498 00:19:21,799 --> 00:19:22,480 Vamos a ver 499 00:19:22,480 --> 00:19:23,900 Donde me equivoco 500 00:19:23,900 --> 00:19:31,670 Ah, porque claro, le tengo que poner dentro 501 00:19:31,670 --> 00:19:33,150 Efectivamente, no me he acordado 502 00:19:33,150 --> 00:19:35,309 Que le tengo que poner dentro un border 503 00:19:35,309 --> 00:19:37,750 ¿Vale? Entonces tengo que hacer un new 504 00:19:37,750 --> 00:19:39,670 Por ejemplo, empty border 505 00:19:39,670 --> 00:19:42,829 Que es un tipo de border 506 00:19:42,829 --> 00:19:44,589 Es un objeto que 507 00:19:44,589 --> 00:19:46,089 Define 508 00:19:46,089 --> 00:19:47,289 Un borde 509 00:19:47,289 --> 00:19:50,250 Y le pongo dentro 510 00:19:50,250 --> 00:19:51,509 El borde que yo quiero 511 00:19:51,509 --> 00:19:54,589 Este de aquí lo tengo que importar 512 00:19:54,589 --> 00:19:55,829 ¿Vale? 513 00:19:56,450 --> 00:19:57,690 No lo sé, ¿vale? 514 00:19:57,990 --> 00:19:58,609 Esto luego 515 00:19:58,609 --> 00:20:01,849 Lo que tenéis que hacer 516 00:20:01,849 --> 00:20:03,990 Sostancialmente es experimentar y pensar 517 00:20:03,990 --> 00:20:05,670 ¿Qué quiero hacer? Quiero añadir un borde, ¿vale? 518 00:20:05,690 --> 00:20:08,150 ¿Cómo lo hago? Buscas borde, ves la posibilidad 519 00:20:08,150 --> 00:20:09,829 De añadir bordes a los componentes 520 00:20:09,829 --> 00:20:12,230 Vais a mirar como es, lo probáis 521 00:20:12,230 --> 00:20:13,609 Y veis que pasa, porque aquí 522 00:20:13,609 --> 00:20:16,269 Hay un mogollón de opciones 523 00:20:16,269 --> 00:20:17,930 Que hay, como cuando lo habéis visto 524 00:20:17,930 --> 00:20:19,769 Con HTML y cosas así 525 00:20:19,769 --> 00:20:22,150 Hay un montón de atributos, un montón de opciones 526 00:20:22,150 --> 00:20:23,730 Y lo que tengo que hacer es 527 00:20:23,730 --> 00:20:26,150 Tener una idea de lo que voy a hacer 528 00:20:26,150 --> 00:20:28,309 Y buscar como se hace más o menos 529 00:20:28,309 --> 00:20:29,809 A lo mejor 530 00:20:29,809 --> 00:20:31,029 En vez de esto 531 00:20:31,029 --> 00:20:32,990 Que se ve menos 532 00:20:32,990 --> 00:20:35,730 Lo que podemos intentar hacer es 533 00:20:35,730 --> 00:20:37,529 Cambiarle el color del fondo 534 00:20:37,529 --> 00:20:39,309 Entonces 535 00:20:39,309 --> 00:20:41,509 Debería haber un fondo 536 00:20:41,509 --> 00:20:43,190 Punto set background 537 00:20:43,190 --> 00:20:52,160 Punto set background 538 00:20:52,160 --> 00:20:53,700 Si os fijáis 539 00:20:53,700 --> 00:20:55,680 El set background 540 00:20:55,680 --> 00:20:58,119 Recibe como objeto 541 00:20:58,119 --> 00:20:58,700 Un color 542 00:20:58,700 --> 00:21:01,180 ¿Vale? Como parámetro 543 00:21:01,180 --> 00:21:03,660 Entonces yo selecciono esto 544 00:21:03,660 --> 00:21:05,480 Y ahora tengo que ponerle 545 00:21:05,480 --> 00:21:06,700 Un color 546 00:21:06,700 --> 00:21:08,140 ¿Cómo le pongo un color? 547 00:21:09,019 --> 00:21:10,960 Pues new color 548 00:21:10,960 --> 00:21:13,680 Y por ejemplo 549 00:21:13,680 --> 00:21:15,420 Las coordenadas RGB 550 00:21:15,420 --> 00:21:17,079 Cuanto rojo 551 00:21:17,079 --> 00:21:18,559 Cuanto azul 552 00:21:18,559 --> 00:21:20,220 Por ejemplo, le pongo 553 00:21:20,220 --> 00:21:23,460 255 de rojo 554 00:21:23,460 --> 00:21:24,779 0 de azul 555 00:21:24,779 --> 00:21:25,799 Y 0 de verde 556 00:21:25,799 --> 00:21:29,180 Este también es una clase 557 00:21:29,180 --> 00:21:30,759 Que está por allí, que define un color 558 00:21:30,759 --> 00:21:32,240 De AVT 559 00:21:32,240 --> 00:21:35,259 Y entonces la importo 560 00:21:35,259 --> 00:21:35,539 ¿Vale? 561 00:21:37,539 --> 00:21:38,920 Y ahora aquí 562 00:21:38,920 --> 00:21:41,240 Este background 563 00:21:41,240 --> 00:21:42,240 Este fondo 564 00:21:42,240 --> 00:21:44,940 Debería ser rojo 565 00:21:44,940 --> 00:21:45,859 ¿Vale? 566 00:21:45,859 --> 00:21:47,559 Entonces lanzo 567 00:21:47,559 --> 00:21:48,980 Mi programa 568 00:21:48,980 --> 00:21:52,079 Veis que rojo intenso 569 00:21:52,079 --> 00:21:53,480 ¿Por qué? 570 00:21:58,750 --> 00:22:00,329 Porque yo tengo un frame 571 00:22:00,329 --> 00:22:02,650 Y tengo un objeto panel 572 00:22:02,650 --> 00:22:05,049 Pero todavía no le he dicho a este frame 573 00:22:05,049 --> 00:22:06,789 Tu fondo es este panel 574 00:22:06,789 --> 00:22:09,390 Entonces no se ve este panel 575 00:22:09,390 --> 00:22:10,470 Este panel está por ahí 576 00:22:10,470 --> 00:22:12,650 Un objeto que no tiene relación con la 577 00:22:12,650 --> 00:22:14,730 Ventana que estoy creando 578 00:22:14,730 --> 00:22:16,690 ¿Vale? Entonces ahora 579 00:22:16,690 --> 00:22:19,049 Le tengo que decir 580 00:22:19,049 --> 00:22:20,109 Oye, escúchame 581 00:22:20,109 --> 00:22:22,490 This, vale, o sea 582 00:22:22,490 --> 00:22:25,690 JFrame que estoy creando 583 00:22:25,690 --> 00:22:26,990 Pues set 584 00:22:26,990 --> 00:22:29,549 Le pongo el this punto 585 00:22:29,549 --> 00:22:30,950 Porque así me sale 586 00:22:30,950 --> 00:22:33,789 Set content panel 587 00:22:33,789 --> 00:22:36,089 Este aquí 588 00:22:36,089 --> 00:22:41,059 Que tiene dentro un container 589 00:22:41,059 --> 00:22:43,099 Un JPanel 590 00:22:43,099 --> 00:22:44,660 Hereda del container 591 00:22:44,660 --> 00:22:46,079 Por lo tanto es un container 592 00:22:46,079 --> 00:22:48,180 Y le pongo dentro 593 00:22:48,180 --> 00:22:48,980 fondo 594 00:22:48,980 --> 00:22:52,609 y entonces ahora 595 00:22:52,609 --> 00:22:56,440 rojo 596 00:22:56,440 --> 00:23:01,119 y ahora lo que yo puedo hacer 597 00:23:01,119 --> 00:23:03,079 en este panel lo poner cosas 598 00:23:03,079 --> 00:23:05,200 y entonces cuando luego le digo 599 00:23:05,200 --> 00:23:06,519 eres el fondo de esta 600 00:23:06,519 --> 00:23:09,539 ventana, pues me aparecerán 601 00:23:09,539 --> 00:23:10,420 en la ventana 602 00:23:10,420 --> 00:23:13,039 y esto es más o menos como funciona 603 00:23:13,039 --> 00:23:14,140 yo me creo 604 00:23:14,140 --> 00:23:17,099 panel, le pego botones 605 00:23:17,099 --> 00:23:19,119 le pego radio button, le pego 606 00:23:19,119 --> 00:23:21,160 Áreas de texto, le pego etiquetas 607 00:23:21,160 --> 00:23:23,000 Y luego se lo pego al fondo 608 00:23:23,000 --> 00:23:24,640 De una ventana y le digo 609 00:23:24,640 --> 00:23:26,720 Enséñame la ventana, y la ventana aparece 610 00:23:26,720 --> 00:23:29,140 Si quiero estructurar esto 611 00:23:29,140 --> 00:23:30,960 Puedo estructurarlo más 612 00:23:30,960 --> 00:23:32,660 O menos, diciendo 613 00:23:32,660 --> 00:23:34,160 Oye mira, créame otro panel 614 00:23:34,160 --> 00:23:36,740 Este panel pónmelo aquí, aquí pónme los botones 615 00:23:36,740 --> 00:23:38,420 Aquí pónme otro panel con solo 616 00:23:38,420 --> 00:23:40,319 Los radio button, aquí pónme 617 00:23:40,319 --> 00:23:41,880 No lo sé, vale 618 00:23:41,880 --> 00:23:44,900 Vamos a hacer algunos ejemplos, jugamos un poco con ello 619 00:23:44,900 --> 00:23:46,440 Luego jugaréis vosotros 620 00:23:46,440 --> 00:23:49,920 Aquí no me acuerdo si utilizaba otra cosa 621 00:23:49,920 --> 00:23:50,960 Aquí usa 622 00:23:50,960 --> 00:23:53,259 Le define también un 623 00:23:53,259 --> 00:23:55,420 Layout, vale 624 00:23:55,420 --> 00:23:57,160 Entonces lo ponemos nosotros también 625 00:23:57,160 --> 00:24:00,000 Fondo.setLayout 626 00:24:00,000 --> 00:24:03,160 Y lo que hacemos es le ponemos un null 627 00:24:03,160 --> 00:24:05,599 Con eso quiere decir 628 00:24:05,599 --> 00:24:08,359 Que no hay un layout por defecto 629 00:24:08,359 --> 00:24:09,740 Y las cosas que pongo yo 630 00:24:09,740 --> 00:24:11,579 Tendré que posicionarlas yo 631 00:24:11,579 --> 00:24:13,900 Diciendo donde aparecen en este panel 632 00:24:13,900 --> 00:24:18,000 Y ahora después vamos a añadir algo 633 00:24:18,000 --> 00:24:18,960 Y vamos a ver que pasa 634 00:24:18,960 --> 00:24:20,119 ¿Sí? 635 00:24:20,859 --> 00:24:21,779 ¿Dudas hasta aquí? 636 00:24:24,059 --> 00:24:24,339 Bueno 637 00:24:24,339 --> 00:24:28,069 Lo que hemos hecho es esto 638 00:24:28,069 --> 00:24:31,910 Una ventana con un contenedor al fondo 639 00:24:31,910 --> 00:24:34,390 ¿Qué tamaño tiene el contenedor? 640 00:24:34,490 --> 00:24:35,470 Pues nos lo hemos dado 641 00:24:35,470 --> 00:24:37,710 Lo más probable es que tenga 642 00:24:37,710 --> 00:24:40,769 El tamaño de la ventana misma 643 00:24:40,769 --> 00:24:41,710 ¿Sí? 644 00:24:41,990 --> 00:24:43,650 Si le pongo un tamaño más pequeño 645 00:24:43,650 --> 00:24:45,490 Pues a lo mejor hace cosas raras 646 00:24:45,490 --> 00:24:47,789 Eh, dejadme probar 647 00:24:47,789 --> 00:24:48,809 A ver que hace el 648 00:24:48,809 --> 00:24:52,309 Fondo.set 649 00:24:52,309 --> 00:24:53,869 Border 650 00:24:53,869 --> 00:24:57,690 New empty border 651 00:24:57,690 --> 00:25:00,630 5, 5, 5, 5 652 00:25:00,630 --> 00:25:26,029 No veo cambios 653 00:25:26,029 --> 00:25:28,930 Bueno, esto a lo mejor se verá en otro contexto 654 00:25:28,930 --> 00:25:29,750 Vale, por ahora 655 00:25:29,750 --> 00:25:33,349 Realmente esto es para definir 656 00:25:33,349 --> 00:25:35,170 Bordes, posiblemente tiene más sentido 657 00:25:35,170 --> 00:25:36,789 Cuando no es el fondo de la ventana 658 00:25:36,789 --> 00:25:39,250 Sino que haya otros elementos dentro 659 00:25:39,250 --> 00:25:41,109 Y posiblemente me crea unos bordes laterales 660 00:25:41,109 --> 00:25:43,329 Para distanciar entre ellos 661 00:25:43,329 --> 00:25:44,789 Los objetos que están ahí dentro 662 00:25:44,789 --> 00:25:46,829 Pues por ahora 663 00:25:46,829 --> 00:25:48,250 Lo dejamos ahí 664 00:25:48,250 --> 00:25:51,849 Sigo adelante 665 00:25:51,849 --> 00:25:54,170 Ahora lo que vamos a hacer es 666 00:25:54,170 --> 00:25:56,950 Añadamos un contenedor 667 00:25:56,950 --> 00:25:57,970 De segundo nivel 668 00:25:57,970 --> 00:26:00,829 Dentro de este panel 669 00:26:00,829 --> 00:26:02,210 Que es el fondo 670 00:26:02,210 --> 00:26:04,710 Me creo un cuadrado aquí 671 00:26:04,710 --> 00:26:09,890 Que es una forma de organizar otros elementos 672 00:26:09,890 --> 00:26:12,390 Por ejemplo, algunos elementos los pondré aquí 673 00:26:12,390 --> 00:26:16,190 Referenciándome al fondo de la ventana 674 00:26:16,190 --> 00:26:19,089 Y otros en vez irán en esta área aquí 675 00:26:19,089 --> 00:26:20,809 Por ejemplo, aquí pongo todos los botones 676 00:26:20,809 --> 00:26:22,829 Y aquí pongo todas las etiquetas, que se yo 677 00:26:22,829 --> 00:26:27,829 Luego, la idea es que vosotros antes en un papel o en Paint 678 00:26:27,829 --> 00:26:30,970 Os dibujéis el layout que queréis 679 00:26:30,970 --> 00:26:32,630 O sea, la interfaz que queréis 680 00:26:32,630 --> 00:26:34,869 Y luego la vais organizando 681 00:26:34,869 --> 00:26:36,349 Haciendo zonas 682 00:26:36,349 --> 00:26:37,849 Haciendo varios contenedores 683 00:26:37,849 --> 00:26:39,410 Uno dentro de otro, etc, etc 684 00:26:39,410 --> 00:26:41,910 Voy a añadir otro 685 00:26:41,910 --> 00:26:42,890 ¿Qué es este de aquí? 686 00:26:43,450 --> 00:26:44,289 Otro Jpanel 687 00:26:44,289 --> 00:26:47,349 No es el Jpanel del fondo 688 00:26:47,349 --> 00:26:50,690 Sino es un Jpanel que está dentro de este Jpanel 689 00:26:50,690 --> 00:26:53,029 Es como si a mi pared 690 00:26:53,029 --> 00:26:54,509 El Jpanel del fondo 691 00:26:54,509 --> 00:26:56,029 Le pego un corcho 692 00:26:56,029 --> 00:26:58,910 Y luego pondré las cosas 693 00:26:58,910 --> 00:27:01,029 O en la pared, pegando póster a la pared 694 00:27:01,029 --> 00:27:02,089 O en el corcho 695 00:27:02,089 --> 00:27:03,630 Pegando cosas al coche 696 00:27:03,630 --> 00:27:04,569 ¿Sí? 697 00:27:05,529 --> 00:27:06,589 ¿Cómo se hace? 698 00:27:07,769 --> 00:27:08,029 Sí 699 00:27:08,029 --> 00:27:11,450 Me creo otro Jpanel 700 00:27:11,450 --> 00:27:13,809 Le doy las características 701 00:27:13,809 --> 00:27:15,769 Que yo quiero y cosas por el estilo 702 00:27:15,769 --> 00:27:17,049 Aquí lo hace con los bounds 703 00:27:17,049 --> 00:27:19,069 Y luego después 704 00:27:19,069 --> 00:27:20,970 Lo que hago 705 00:27:20,970 --> 00:27:23,970 Es añadir el contenedor 706 00:27:23,970 --> 00:27:25,490 Al otro contenedor 707 00:27:25,490 --> 00:27:28,509 ¿Sí? 708 00:27:29,049 --> 00:27:30,309 Esta es la operación de add 709 00:27:30,309 --> 00:27:32,450 Que sustancialmente me añade 710 00:27:32,450 --> 00:27:34,930 Componentes 711 00:27:34,930 --> 00:27:36,789 A otros componentes 712 00:27:36,789 --> 00:27:39,470 Como el Jpanel 713 00:27:39,470 --> 00:27:41,369 Es un contenedor, puede contener 714 00:27:41,369 --> 00:27:43,269 Componentes y yo puedo pillar un componente 715 00:27:43,269 --> 00:27:45,109 Y decir, añádelo, añádelo 716 00:27:45,109 --> 00:27:47,250 Si tiene un layout 717 00:27:47,250 --> 00:27:49,990 Me lo añadirá según el layout 718 00:27:49,990 --> 00:27:51,809 Por ejemplo, el layout, el flow layout 719 00:27:51,809 --> 00:27:53,369 Que dice uno detrás de otro 720 00:27:53,369 --> 00:27:55,730 Pues me tendrá el primero aquí, donde acaba el segundo 721 00:27:55,730 --> 00:27:57,650 Donde acaba el tercero, donde acaba el cuarto 722 00:27:57,650 --> 00:28:00,329 Si en vez no tiene layout 723 00:28:00,329 --> 00:28:01,769 Pues tendré que definirle yo 724 00:28:01,769 --> 00:28:18,259 donde aparece esto. Lo añado al panel porque content pane es un panel y luego cuando he 725 00:28:18,259 --> 00:28:25,119 construido todo le digo y tú panel del fondo eres el fondo de mi edad, entonces se ve todo. 726 00:28:25,119 --> 00:28:32,000 Pero aquí estoy trabajando con los panel no con el frame. Vamos a verlo. Entonces, 727 00:28:32,000 --> 00:28:38,480 creo otro panel vale fijaos que estoy aquí todo está siempre trabajando dentro del constructor 728 00:28:38,480 --> 00:28:45,079 cuando cuando construyó un ejemplo gogo y lo que estoy haciendo es crearme todo lo que hace falta 729 00:28:45,079 --> 00:28:53,180 para esta interfaz y esto lo hago como último antes me lo construyó y luego digo y tú eres el 730 00:28:53,180 --> 00:29:00,980 fondo de esta ventana entonces se ve bueno y luego después haré visible la ventana pero me 731 00:29:00,980 --> 00:29:02,519 Dejo esto como último paso 732 00:29:02,519 --> 00:29:05,000 Entonces, aquí lo que hago es 733 00:29:05,000 --> 00:29:06,940 Construirme un contenedor de 734 00:29:06,940 --> 00:29:09,220 Segundo nivel, jPanel 735 00:29:09,220 --> 00:29:10,660 Segundo 736 00:29:10,660 --> 00:29:12,759 Por ejemplo, es igual a 737 00:29:12,759 --> 00:29:14,119 New jPanel 738 00:29:14,119 --> 00:29:19,039 Para que se vea 739 00:29:19,039 --> 00:29:20,579 Segundo punto 740 00:29:20,579 --> 00:29:22,420 Background 741 00:29:22,420 --> 00:29:28,569 Background 742 00:29:28,569 --> 00:29:29,730 Color 743 00:29:29,730 --> 00:29:31,670 Y con 744 00:29:31,670 --> 00:29:33,490 New color 745 00:29:33,490 --> 00:29:34,970 Lo hacemos azul 746 00:29:34,970 --> 00:29:36,549 0 de rojo 747 00:29:36,549 --> 00:29:38,670 250 RGB 748 00:29:38,670 --> 00:29:40,869 Bueno, hemos hecho verde 749 00:29:40,869 --> 00:29:45,329 ¿Cómo? 750 00:29:47,130 --> 00:29:47,990 Set, set 751 00:29:47,990 --> 00:29:50,559 ¿Sí? 752 00:29:51,220 --> 00:29:53,759 Entonces, aquí lo que hacemos es 753 00:29:53,759 --> 00:29:55,420 Ponerle color verde 754 00:29:55,420 --> 00:29:57,940 De esta forma ahora veremos que la zona que es roja 755 00:29:57,940 --> 00:29:59,539 Es el panel del fondo 756 00:29:59,539 --> 00:30:01,880 Y la zona que es verde 757 00:30:01,880 --> 00:30:03,720 Es el panel segundo 758 00:30:03,720 --> 00:30:05,200 El panel que le he pegado encima 759 00:30:05,200 --> 00:30:07,940 Si yo le doy 760 00:30:07,940 --> 00:30:09,200 Play ahora, ¿qué veo? 761 00:30:09,579 --> 00:30:13,910 rojo, que no he hecho todavía nada 762 00:30:13,910 --> 00:30:15,450 vale, vale, sigamos adelante 763 00:30:15,450 --> 00:30:16,750 primero 764 00:30:16,750 --> 00:30:19,109 le tengo que dar 765 00:30:19,109 --> 00:30:21,230 un tamaño, vale 766 00:30:21,230 --> 00:30:23,650 entonces le digo, segundo punto 767 00:30:23,650 --> 00:30:25,769 set bones 768 00:30:25,769 --> 00:30:29,670 y le digo que tú vas a 769 00:30:29,670 --> 00:30:30,970 50 770 00:30:30,970 --> 00:30:33,549 50, 100 771 00:30:33,549 --> 00:30:35,150 100 772 00:30:35,150 --> 00:30:37,329 es decir 773 00:30:37,329 --> 00:30:39,650 estás en posición 774 00:30:39,650 --> 00:30:42,210 50X, 50Y 775 00:30:42,210 --> 00:30:44,109 Con tamaño 100 776 00:30:44,109 --> 00:30:45,109 Y tamaño 100 777 00:30:45,109 --> 00:30:45,950 ¿Con respecto a qué? 778 00:30:48,230 --> 00:30:48,750 No lo sé 779 00:30:48,750 --> 00:30:51,109 Con respecto a mi origen 780 00:30:51,109 --> 00:30:53,170 ¿Pero cuál es su origen? 781 00:30:53,490 --> 00:30:55,589 No lo sé, por ahora es un señor que 782 00:30:55,589 --> 00:30:56,589 Está en el aire 783 00:30:56,589 --> 00:30:58,349 En algún lado del hip 784 00:30:58,349 --> 00:31:00,869 ¿Cómo asocio este segundo 785 00:31:00,869 --> 00:31:03,609 Al fondo? 786 00:31:14,799 --> 00:31:15,440 Añade 787 00:31:15,440 --> 00:31:16,420 Al fondo 788 00:31:16,420 --> 00:31:17,779 Este objeto 789 00:31:17,779 --> 00:31:19,859 Ahora su padre es el fondo 790 00:31:19,859 --> 00:31:22,019 Entonces esto se supone 791 00:31:22,019 --> 00:31:24,000 Que será desde donde empieza 792 00:31:24,000 --> 00:31:25,319 El panel fondo 793 00:31:25,319 --> 00:31:27,640 Pues 50-50 y que sea 794 00:31:27,640 --> 00:31:28,500 Grando 100-100 795 00:31:28,500 --> 00:31:43,160 Aquí está 796 00:31:43,160 --> 00:31:45,839 Entonces ahora tengo 797 00:31:45,839 --> 00:31:46,960 Dos panel 798 00:31:46,960 --> 00:31:48,819 Uno que me hace de fondo 799 00:31:48,819 --> 00:31:50,599 Y uno que está encima 800 00:31:50,599 --> 00:31:52,960 Que está allí 801 00:31:52,960 --> 00:31:55,759 La idea es que no es para hacer colorines 802 00:31:55,759 --> 00:31:58,279 Pero la idea es 803 00:31:58,279 --> 00:31:59,779 Para que veáis la diferente 804 00:31:59,779 --> 00:32:02,059 Zonas, y la idea es que 805 00:32:02,059 --> 00:32:03,980 Ahora, si añado algo al fondo 806 00:32:03,980 --> 00:32:05,759 Lo estaré añadiendo en la sección roja 807 00:32:05,759 --> 00:32:08,380 Si añado algo al verde, lo estaré añadiendo aquí 808 00:32:08,380 --> 00:32:10,059 Entonces, yo puedo hacer 809 00:32:10,059 --> 00:32:12,160 Secciones, por ejemplo, si quiero dejar 810 00:32:12,160 --> 00:32:14,559 Todos los botones aquí a la derecha 811 00:32:14,559 --> 00:32:16,319 Lo que puedo hacer es 812 00:32:16,319 --> 00:32:22,470 De forma 813 00:32:22,470 --> 00:32:24,650 Sencilla 814 00:32:24,650 --> 00:32:26,109 Puedes poner 815 00:32:26,109 --> 00:32:28,710 150, 50 816 00:32:28,710 --> 00:32:31,829 100, 1000 817 00:32:31,829 --> 00:32:48,019 más 818 00:32:48,019 --> 00:32:59,170 ciento 819 00:32:59,170 --> 00:33:02,880 más 820 00:33:02,880 --> 00:33:06,119 tres mil de ancho 821 00:33:06,119 --> 00:33:06,380 si 822 00:33:06,380 --> 00:33:09,839 si tienes el rango noventa 823 00:33:09,839 --> 00:33:10,920 bajamos novecientos 824 00:33:10,920 --> 00:33:16,279 más o menos 825 00:33:16,279 --> 00:33:20,940 la idea es que ahora yo me he 826 00:33:20,940 --> 00:33:23,500 me he pillado esta sección de aquí 827 00:33:23,500 --> 00:33:25,539 y si ahora todos los 828 00:33:25,539 --> 00:33:26,900 botones que añado 829 00:33:26,900 --> 00:33:29,299 le pongo con un layout 830 00:33:29,299 --> 00:33:30,819 que les añade en vertical 831 00:33:30,819 --> 00:33:32,180 y los pongo aquí 832 00:33:32,180 --> 00:33:34,240 Pues me lo estará poniendo todos aquí 833 00:33:34,240 --> 00:33:36,400 Y todos los botones vienen en esta área aquí 834 00:33:36,400 --> 00:33:38,119 Y aquí pongo otras cosas 835 00:33:38,119 --> 00:33:39,019 Por ejemplo 836 00:33:39,019 --> 00:33:40,480 ¿Sí? 837 00:33:41,380 --> 00:33:45,180 Sale fuera 838 00:33:45,180 --> 00:33:47,640 Sí 839 00:33:47,640 --> 00:33:52,240 Sí está dentro 840 00:33:52,240 --> 00:33:54,140 La idea es que si me estoy haciendo 841 00:33:54,140 --> 00:33:56,000 Muchas veces lo que hacemos es que 842 00:33:56,000 --> 00:33:57,940 Le quitamos el set resizable 843 00:33:57,940 --> 00:33:59,960 Tú tienes tu 844 00:33:59,960 --> 00:34:01,480 Tu ventana 845 00:34:01,480 --> 00:34:03,480 Pensada para que las cosas estén bonitas 846 00:34:03,480 --> 00:34:04,900 Le quitas el set resizable 847 00:34:04,900 --> 00:34:06,700 De esta forma la gente no te hace así 848 00:34:06,700 --> 00:34:08,980 Y te la robo y te la estropea 849 00:34:08,980 --> 00:34:10,920 Luego si lo haces bien, bien, bien 850 00:34:10,920 --> 00:34:13,059 Cuando la haces resize 851 00:34:13,059 --> 00:34:14,900 Recolocas todo 852 00:34:14,900 --> 00:34:16,159 Donde tiene que estar 853 00:34:16,159 --> 00:34:18,860 Que a lo mejor es solo recolocar el panel 854 00:34:18,860 --> 00:34:21,139 Porque luego dentro del panel todo está bien hecho 855 00:34:21,139 --> 00:34:23,300 El panel no lo resize 856 00:34:23,300 --> 00:34:25,880 La ventana que haces resize 857 00:34:25,880 --> 00:34:26,599 ¿Vale? 858 00:34:26,760 --> 00:34:28,400 Y aquí entran todos los problemas 859 00:34:28,400 --> 00:34:30,460 Que probablemente habéis tenido también en HTML 860 00:34:30,460 --> 00:34:32,320 De la resolución 861 00:34:32,320 --> 00:34:34,059 Que mi monitor tiene alta resolución 862 00:34:34,059 --> 00:34:35,019 Entonces sale pequeño 863 00:34:35,019 --> 00:34:37,460 Si lo pones en un 800x800 sale enorme 864 00:34:37,460 --> 00:34:39,460 Como hago para gestionar 865 00:34:39,460 --> 00:34:41,400 Que esto se vea bien 866 00:34:41,400 --> 00:34:42,360 En todos los ordenadores 867 00:34:42,360 --> 00:34:43,780 Pero eso ya de segundo 868 00:34:43,780 --> 00:34:47,500 La idea es esto 869 00:34:47,500 --> 00:34:50,159 Está claro que luego si yo quito esto 870 00:34:50,159 --> 00:35:09,099 Mi zona sigue 871 00:35:09,099 --> 00:35:10,119 Estando definida 872 00:35:10,119 --> 00:35:13,099 Pero no se ve que está definida 873 00:35:13,099 --> 00:35:14,780 Yo tengo 874 00:35:14,780 --> 00:35:17,260 El fondo y tengo aquí un área 875 00:35:17,260 --> 00:35:18,900 Donde podré colocar las cosas 876 00:35:18,900 --> 00:35:20,840 para gestión, pero es una 877 00:35:20,840 --> 00:35:22,840 arena interna mía, no hay que tener que 878 00:35:22,840 --> 00:35:24,420 ser verde o naranja o cosas así 879 00:35:24,420 --> 00:35:26,420 esto parece un único lienzo 880 00:35:26,420 --> 00:35:28,920 en realidad está organizado como yo quiero 881 00:35:28,920 --> 00:35:37,219 esto del background puede ser 882 00:35:37,219 --> 00:35:39,260 útil al principio cuando intento 883 00:35:39,260 --> 00:35:41,139 ver como van las cosas para saber que estoy 884 00:35:41,139 --> 00:35:43,400 haciendo, como se está moviendo y pillar un poco 885 00:35:43,400 --> 00:35:43,659 de 886 00:35:43,659 --> 00:35:47,320 como está el set, está también el get 887 00:35:47,320 --> 00:35:49,199 en vez de hacer esto por ejemplo 888 00:35:49,199 --> 00:35:51,179 habría podido pillar los 889 00:35:51,179 --> 00:35:52,980 Get de los 890 00:35:52,980 --> 00:35:54,719 Márgenes 891 00:35:54,719 --> 00:35:55,960 De mi padre 892 00:35:55,960 --> 00:35:58,400 Del disk 893 00:35:58,400 --> 00:36:00,960 Para que lo haga en base 894 00:36:00,960 --> 00:36:02,780 A cuanto es grande la ventana 895 00:36:02,780 --> 00:36:04,460 Se puede 896 00:36:04,460 --> 00:36:06,539 Complicar cuanto queráis 897 00:36:06,539 --> 00:36:09,000 Por ahora nos mantenemos en lo sencillo 898 00:36:09,000 --> 00:36:10,840 Vale, entonces 899 00:36:10,840 --> 00:36:12,000 He añadido esto 900 00:36:12,000 --> 00:36:15,000 Aquí se añade 901 00:36:15,000 --> 00:36:16,079 ¿Qué se añade? 902 00:36:17,079 --> 00:36:18,460 Ah, no, he ido para atrás 903 00:36:18,460 --> 00:36:20,360 Entonces cuando hace las ventanas 904 00:36:20,360 --> 00:36:34,559 Tú puedes hacer lo que te da la gana 905 00:36:34,559 --> 00:36:36,340 Y combinarlos como te da la gana 906 00:36:36,340 --> 00:36:37,159 Pero tú siempre 907 00:36:37,159 --> 00:36:40,860 Añades un componente 908 00:36:40,860 --> 00:36:42,900 A lo que está detrás 909 00:36:42,900 --> 00:36:44,500 Tú añades 910 00:36:44,500 --> 00:36:46,179 Un flyer 911 00:36:46,179 --> 00:36:48,360 Al corcho, y luego el corcho a la pared 912 00:36:48,360 --> 00:36:50,679 No añades la pared 913 00:36:50,679 --> 00:36:51,699 Al flyer 914 00:36:51,699 --> 00:36:53,699 No va por detrás 915 00:36:53,699 --> 00:36:54,820 ¿Sí? 916 00:36:55,260 --> 00:36:58,139 La idea es que tú en tu imagen tienes que crearte las secciones 917 00:36:58,139 --> 00:36:59,820 Y luego las secciones las vas 918 00:36:59,820 --> 00:37:01,039 Rellenando con los objetos 919 00:37:01,039 --> 00:37:03,800 Ahora rellenamos algún componente para que se vea algo 920 00:37:03,800 --> 00:37:05,340 Y luego después eso 921 00:37:05,340 --> 00:37:07,420 Lo combinas con 922 00:37:07,420 --> 00:37:09,139 Los varios paneles 923 00:37:09,139 --> 00:37:13,199 Ok, estamos aquí, vale 924 00:37:13,199 --> 00:37:14,280 Hemos hecho esto 925 00:37:14,280 --> 00:37:17,340 Ahora lo que podemos hacer es decir 926 00:37:17,340 --> 00:37:19,219 Vale, vamos a añadir algo 927 00:37:19,219 --> 00:37:21,019 Vale, por ejemplo 928 00:37:21,019 --> 00:37:23,199 Al contenedor principal, al fondo 929 00:37:23,199 --> 00:37:25,480 Le vamos a añadir una etiqueta 930 00:37:25,480 --> 00:37:27,159 Un texto pequeño 931 00:37:27,159 --> 00:37:28,739 Vale, que no sea editable 932 00:37:28,739 --> 00:37:37,699 Entonces, ¿cómo lo hago? 933 00:37:37,860 --> 00:37:40,219 Pues al fondo 934 00:37:40,219 --> 00:37:44,840 Aquí por ejemplo 935 00:37:44,840 --> 00:37:49,039 Fondo.add 936 00:37:49,039 --> 00:37:52,159 Y aquí le tengo que añadir algo 937 00:37:52,159 --> 00:37:55,699 Que le añado 938 00:37:55,699 --> 00:37:56,980 Por ejemplo un JLabel 939 00:37:56,980 --> 00:37:58,940 JLabel 940 00:37:58,940 --> 00:38:02,420 Etiqueta 941 00:38:02,420 --> 00:38:03,619 Uno 942 00:38:03,619 --> 00:38:06,179 Es igual a new 943 00:38:06,179 --> 00:38:07,619 JLabel 944 00:38:07,619 --> 00:38:11,139 Y creo que pilla un texto 945 00:38:11,139 --> 00:38:14,320 Una etiqueta 946 00:38:14,320 --> 00:38:22,349 Elabel 947 00:38:22,349 --> 00:38:24,429 Añado 948 00:38:24,429 --> 00:38:27,110 Etc1 949 00:38:27,110 --> 00:38:28,690 A ver, ¿qué pasa? 950 00:38:36,650 --> 00:38:37,769 ¿Dónde está la etiqueta? 951 00:38:38,730 --> 00:38:39,349 Ni idea 952 00:38:39,349 --> 00:38:41,409 ¿Por qué? 953 00:38:43,409 --> 00:38:45,750 Porque probablemente le tengo que aceptar 954 00:38:45,750 --> 00:38:48,989 Las configuraciones de dónde está esta etiqueta 955 00:38:48,989 --> 00:38:49,829 ¿Vale? 956 00:38:50,590 --> 00:38:51,269 Aquí 957 00:38:51,269 --> 00:38:56,610 Una vez que he creado la etiqueta 958 00:38:56,610 --> 00:38:58,690 Le tendré que decir 959 00:38:58,690 --> 00:39:00,369 Donde aparece esta etiqueta 960 00:39:00,369 --> 00:39:00,869 ¿Por qué? 961 00:39:02,510 --> 00:39:04,570 Porque mi layout es null 962 00:39:04,570 --> 00:39:07,210 Si mi layout es null 963 00:39:07,210 --> 00:39:09,150 Soy yo que tengo que decidir 964 00:39:09,150 --> 00:39:11,469 Donde van cada uno de los componentes 965 00:39:11,469 --> 00:39:11,989 Que pongo 966 00:39:11,989 --> 00:39:13,769 Si no hubiese sido null 967 00:39:13,769 --> 00:39:16,829 Y hubiese utilizado otro layout 968 00:39:16,829 --> 00:39:18,090 De esto por ejemplo que me pone 969 00:39:18,090 --> 00:39:18,889 Uno al lado de otro 970 00:39:18,889 --> 00:39:19,929 Pues me lo habría puesto él 971 00:39:19,929 --> 00:39:20,969 Automáticamente en algún lado 972 00:39:20,969 --> 00:39:23,190 Pero no lo habría podido mover yo 973 00:39:23,190 --> 00:39:27,650 Es un poco la idea 974 00:39:27,650 --> 00:39:28,869 O lo dejo hacer a él 975 00:39:28,869 --> 00:39:30,329 Y él se organiza 976 00:39:30,329 --> 00:39:33,789 O lo organizo yo, pero entonces lo tengo que organizar 977 00:39:33,789 --> 00:39:35,210 Me falta un setbounce 978 00:39:35,210 --> 00:39:37,289 ¿Vale? Entonces 979 00:39:37,289 --> 00:39:42,739 La etiqueta 980 00:39:42,739 --> 00:39:44,519 Antes de añadirla 981 00:39:44,519 --> 00:39:45,860 Le digo 982 00:39:45,860 --> 00:39:49,199 Etiqueta1.setbounce 983 00:39:49,199 --> 00:39:55,949 De 984 00:39:55,949 --> 00:39:59,929 Que se yo 985 00:39:59,929 --> 00:40:03,309 hagámosla a 100 986 00:40:03,309 --> 00:40:04,989 100 987 00:40:04,989 --> 00:40:05,650 100 988 00:40:05,650 --> 00:40:18,619 la he puesto a distancia 989 00:40:18,619 --> 00:40:21,119 100, 100 de probablemente esto 990 00:40:21,119 --> 00:40:22,719 cada vez hace una cosa distinta 991 00:40:22,719 --> 00:40:24,380 pero bueno, y aquí 992 00:40:24,380 --> 00:40:26,880 tiene un tamaño, si yo quisiera 993 00:40:26,880 --> 00:40:28,920 por ejemplo, podría ver 994 00:40:28,920 --> 00:40:30,860 cuánto 995 00:40:30,860 --> 00:40:32,059 ocupa esta etiqueta 996 00:40:32,059 --> 00:40:35,119 pues etc1.set 997 00:40:35,119 --> 00:40:36,719 background 998 00:40:36,719 --> 00:40:39,260 De new color 999 00:40:39,260 --> 00:40:42,480 Lo hacemos azul 1000 00:40:42,480 --> 00:40:44,539 0 1001 00:40:44,539 --> 00:40:45,800 0 1002 00:40:45,800 --> 00:40:47,579 255 1003 00:40:47,579 --> 00:40:52,179 Y no me lo pone 1004 00:40:52,179 --> 00:40:55,500 La etiqueta no se le ve el background 1005 00:40:55,500 --> 00:40:56,119 No se porque 1006 00:40:56,119 --> 00:41:05,619 Posible que el background de la etiqueta 1007 00:41:05,619 --> 00:41:06,900 No lo pinte, vale 1008 00:41:06,900 --> 00:41:09,019 Esto luego entramos en un mundo como 1009 00:41:09,019 --> 00:41:10,300 El de 1010 00:41:10,300 --> 00:41:12,460 El de HTML 1011 00:41:12,460 --> 00:41:15,360 En el que algunos atributos funcionan 1012 00:41:15,360 --> 00:41:16,980 Algunos de repente no 1013 00:41:16,980 --> 00:41:19,300 Entonces esto tenéis que probar vosotros 1014 00:41:19,300 --> 00:41:21,780 Como 1015 00:41:21,780 --> 00:41:23,960 Cuales funciones 1016 00:41:23,960 --> 00:41:26,880 Porque como muchos de estos 1017 00:41:26,880 --> 00:41:28,960 Derivan del hecho que soy un componente 1018 00:41:28,960 --> 00:41:30,280 Y el componente tiene el set background 1019 00:41:30,280 --> 00:41:33,019 Pero a lo mejor dentro de la etiqueta 1020 00:41:33,019 --> 00:41:34,659 El set background no hace lo mismo 1021 00:41:34,659 --> 00:41:36,440 Que hace en un panel 1022 00:41:36,440 --> 00:41:39,280 No hace lo mismo que hace en otro componente 1023 00:41:39,280 --> 00:41:41,699 Entonces esto lo tenéis que experimentar 1024 00:41:41,699 --> 00:41:42,119 Vosotros 1025 00:41:42,119 --> 00:41:44,440 Vale 1026 00:41:44,440 --> 00:41:46,539 Esto lo quitamos, que no funciona 1027 00:41:46,539 --> 00:41:50,840 Además de una etiqueta vamos a añadir 1028 00:41:50,840 --> 00:41:52,679 Un botón 1029 00:41:52,679 --> 00:41:54,340 Pero el botón añadiamolo 1030 00:41:54,340 --> 00:41:56,059 Al contenedor secundario 1031 00:41:56,059 --> 00:41:58,139 Porque hemos dicho que aquí queremos poner los botones 1032 00:41:58,139 --> 00:42:00,179 ¿Vale? ¿Cómo se añade un botón? 1033 00:42:00,579 --> 00:42:01,760 Pues con el JButton 1034 00:42:01,760 --> 00:42:04,219 Me creo un botón 1035 00:42:04,219 --> 00:42:06,900 Le pongo el título que tiene que poner el botón 1036 00:42:06,900 --> 00:42:08,860 Le pongo el tamaño que tiene que tener 1037 00:42:08,860 --> 00:42:10,239 Este botón, ¿vale? 1038 00:42:10,239 --> 00:42:12,340 Con los bounds y luego lo añado 1039 00:42:12,340 --> 00:42:13,920 Al contenedor de segundo nivel 1040 00:42:13,920 --> 00:42:15,480 No al contenedor del primero 1041 00:42:15,480 --> 00:42:16,000 ¿Vale? 1042 00:42:17,780 --> 00:42:18,659 Entonces 1043 00:42:18,659 --> 00:42:23,469 Aquí 1044 00:42:23,469 --> 00:42:28,119 Hago un jbutton 1045 00:42:28,119 --> 00:42:31,860 Beton1 1046 00:42:31,860 --> 00:42:33,719 Es igual a new 1047 00:42:33,719 --> 00:42:35,139 jbutton 1048 00:42:35,139 --> 00:42:37,059 De pulsa 1049 00:42:37,059 --> 00:42:43,710 Esto claramente es 1050 00:42:43,710 --> 00:42:45,210 Reportar 1051 00:42:45,210 --> 00:42:47,309 A este punto le digo que 1052 00:42:47,309 --> 00:42:51,329 Bt1.setBones 1053 00:42:51,329 --> 00:42:55,329 Y pongamos que es una cosa 1054 00:42:55,329 --> 00:42:58,449 50, 50, 50, 50 1055 00:42:58,449 --> 00:42:59,989 Hagamos 0, 0 1056 00:42:59,989 --> 00:43:02,849 ¿Vale? 1057 00:43:03,090 --> 00:43:05,150 Porque ahora esto de aquí lo añado 1058 00:43:05,150 --> 00:43:07,150 A la franja esa verde 1059 00:43:07,150 --> 00:43:07,829 ¿Vale? 1060 00:43:08,610 --> 00:43:10,250 Entonces aref 1061 00:43:10,250 --> 00:43:12,909 Segundo.add 1062 00:43:12,909 --> 00:43:14,630 21 1063 00:43:14,630 --> 00:43:21,000 Aquí está 1064 00:43:21,000 --> 00:43:29,159 Claramente mi botón no hace nada 1065 00:43:29,159 --> 00:43:32,139 Porque todavía no sé cómo hacerle hacer algo 1066 00:43:32,139 --> 00:43:37,820 Ahora, yo puedo poner todos los botones que quiero aquí 1067 00:43:37,820 --> 00:43:41,260 O aquí, o donde quiero yo 1068 00:43:41,260 --> 00:43:45,599 La idea es que ahora voy construyendo mis paneles 1069 00:43:45,599 --> 00:43:49,860 Hasta que en un cierto momento, pues, tenga sentido 1070 00:43:49,860 --> 00:43:51,559 ¿Vale? La interfaz 1071 00:43:51,559 --> 00:43:53,400 Yo tendré en papel 1072 00:43:53,400 --> 00:43:57,300 Quiero una interfaz 1073 00:43:57,300 --> 00:43:58,800 Que tenga un panel 1074 00:43:58,800 --> 00:44:00,340 Que aquí ponga nombre 1075 00:44:00,340 --> 00:44:02,480 Y luego un botón, apellido 1076 00:44:02,480 --> 00:44:04,539 Y luego un botón, y aquí un área de texto 1077 00:44:04,539 --> 00:44:07,059 Donde puedo escribir varias cosas 1078 00:44:07,059 --> 00:44:08,739 Cuando la tengo así 1079 00:44:08,739 --> 00:44:10,840 Pues me pienso 1080 00:44:10,840 --> 00:44:12,840 Si esto hay que dividirlo en secciones 1081 00:44:12,840 --> 00:44:14,900 A lo mejor quiero que esta sea un 1082 00:44:14,900 --> 00:44:16,960 Jpanel, y que esto sea otro 1083 00:44:16,960 --> 00:44:18,820 Y cosas por el estilo, y cuando ya lo he hecho 1084 00:44:18,820 --> 00:44:19,840 Pues 1085 00:44:19,840 --> 00:44:21,760 Lo voy programando 1086 00:44:21,760 --> 00:44:25,659 Y esto por un par de sesiones 1087 00:44:25,659 --> 00:44:26,980 ¿Vale? 1088 00:44:27,039 --> 00:44:28,860 Porque hoy en día nadie lo hace así 1089 00:44:28,860 --> 00:44:30,880 Pero vosotros sí 1090 00:44:30,880 --> 00:44:33,320 Porque hay que ser 1091 00:44:33,320 --> 00:44:34,340 Masoquistas 1092 00:44:34,340 --> 00:44:37,840 Dudas hasta aquí 1093 00:44:37,840 --> 00:44:38,619 ¿Vale? 1094 00:44:38,619 --> 00:44:40,900 ¿Qué pasa si en vez de añadirlo 1095 00:44:40,900 --> 00:44:42,699 Aquí lo añado aquí? 1096 00:44:43,519 --> 00:44:50,750 Aparece aquí 1097 00:44:50,750 --> 00:44:53,630 ¿Vale? 1098 00:44:53,829 --> 00:44:56,429 Porque en vez de crearse aquí dentro 1099 00:44:56,429 --> 00:44:58,210 Lo he añadido a rojo 1100 00:44:58,210 --> 00:45:00,210 En posición 0, 0, 100, 100 1101 00:45:00,210 --> 00:45:01,429 Pues aparece aquí 1102 00:45:01,429 --> 00:45:14,880 Vale, entonces, ¿qué componentes 1103 00:45:14,880 --> 00:45:16,340 De jerarquía hay por aquí? 1104 00:45:16,480 --> 00:45:18,780 Vale, aquí os da una imagen 1105 00:45:18,780 --> 00:45:20,820 De lo que hay 1106 00:45:20,820 --> 00:45:23,199 Vale, entonces, todos son componentes 1107 00:45:23,199 --> 00:45:24,679 De AVT, supongo 1108 00:45:24,679 --> 00:45:26,000 Que son contenedores 1109 00:45:26,000 --> 00:45:28,320 Dentro de aquí hay la ventana 1110 00:45:28,320 --> 00:45:30,579 O los paneles, con cosas por el estilo 1111 00:45:30,579 --> 00:45:32,380 Y en particular están los 1112 00:45:32,380 --> 00:45:34,880 J-Component, que derivan de container 1113 00:45:34,880 --> 00:45:36,440 Esta es la parte de 1114 00:45:36,440 --> 00:45:38,139 Swing 1115 00:45:38,139 --> 00:45:40,059 Y un G-Component 1116 00:45:40,059 --> 00:45:41,980 Pues, ¿qué puede ser? 1117 00:45:42,139 --> 00:45:43,360 Todas estas cosas de aquí 1118 00:45:43,360 --> 00:45:45,159 Un panel 1119 00:45:45,159 --> 00:45:48,719 Un panel que tenga la posibilidad de hacer scroll 1120 00:45:48,719 --> 00:45:51,039 Un panel que tenga los tabs 1121 00:45:51,039 --> 00:45:52,480 Arriba 1122 00:45:52,480 --> 00:45:54,119 Un... 1123 00:45:54,119 --> 00:45:55,519 Distintos tipos de panel 1124 00:45:55,519 --> 00:45:57,900 Ni me lo sé, ¿vale? 1125 00:45:58,500 --> 00:46:00,139 Luego están las etiquetas 1126 00:46:00,139 --> 00:46:01,340 Las combo box 1127 00:46:01,340 --> 00:46:04,079 Para hacer la barra de menú 1128 00:46:04,079 --> 00:46:08,460 Para hacer una barra de progreso 1129 00:46:08,460 --> 00:46:10,739 De plan estoy cargando un fichero 1130 00:46:10,739 --> 00:46:13,059 Para hacer un slider 1131 00:46:13,059 --> 00:46:16,260 Para hacer un menú de pop-up 1132 00:46:16,260 --> 00:46:18,880 Para elegir un fichero 1133 00:46:18,880 --> 00:46:21,300 Para hacer una lista 1134 00:46:21,300 --> 00:46:24,500 Para hacer un botón por algún lado 1135 00:46:24,500 --> 00:46:25,880 Aquí botón 1136 00:46:25,880 --> 00:46:27,239 Para hacer un menú 1137 00:46:27,239 --> 00:46:28,199 Para hacer un bot 1138 00:46:28,199 --> 00:46:30,159 Estos son todos componentes 1139 00:46:30,159 --> 00:46:32,119 Hay que ver cada uno de ellos que hace 1140 00:46:32,119 --> 00:46:33,800 Y reconstruirse la cosa 1141 00:46:33,800 --> 00:46:38,500 Nosotros probaremos principalmente 1142 00:46:38,500 --> 00:46:40,980 Botones, área de texto 1143 00:46:40,980 --> 00:46:42,099 Y cosas por el estilo 1144 00:46:42,099 --> 00:46:44,880 Sin complicarnos demasiado 1145 00:46:44,880 --> 00:46:46,639 Pero podéis complicar cuanto os da la gana 1146 00:46:46,639 --> 00:46:49,519 Algunas de estas cosas 1147 00:46:49,519 --> 00:46:51,199 Podéis también jugar sobre 1148 00:46:51,199 --> 00:46:53,860 Yo tengo setado un fondo 1149 00:46:53,860 --> 00:46:54,820 Que es un panel 1150 00:46:54,820 --> 00:46:56,880 Al darle a un botón 1151 00:46:56,880 --> 00:46:59,099 Cambio el fondo con otro panel 1152 00:46:59,099 --> 00:47:01,340 Y entonces mi ventana cambia 1153 00:47:01,340 --> 00:47:05,079 O cierro una ventana y abro otra 1154 00:47:05,079 --> 00:47:07,199 Hago invisible una ventana 1155 00:47:07,199 --> 00:47:08,900 Abro otra, esta otra hace una cosa 1156 00:47:08,900 --> 00:47:10,579 Y luego se cierra 1157 00:47:10,579 --> 00:47:12,460 Y vuelve esta a volverse visible 1158 00:47:12,460 --> 00:47:15,280 Y con esto hago cosas un poquito más complejas 1159 00:47:15,280 --> 00:47:17,039 De ventanas 1160 00:47:17,039 --> 00:47:18,920 Que salen, desaparecen 1161 00:47:18,920 --> 00:47:20,460 Cambian, se modifican, etc 1162 00:47:20,460 --> 00:47:29,420 Depende de quién lo gestiona 1163 00:47:29,420 --> 00:47:31,500 Y como lo gestiona 1164 00:47:31,500 --> 00:47:33,019 Si cambia solo el fondo, no 1165 00:47:33,019 --> 00:47:35,920 Si quieres crear dos ventanas 1166 00:47:35,920 --> 00:47:36,800 Separadas, si 1167 00:47:36,800 --> 00:47:38,699 Si quieres que sea la misma ventana 1168 00:47:38,699 --> 00:47:41,019 Que pero haga cosas raras, pues a lo mejor no 1169 00:47:41,019 --> 00:47:45,110 Vale 1170 00:47:45,110 --> 00:47:47,690 Entonces 1171 00:47:47,690 --> 00:47:54,380 Esto es más o menos la idea de que 1172 00:47:54,380 --> 00:47:56,820 Tengo estos paneles 1173 00:47:56,820 --> 00:47:58,179 Tengo componentes 1174 00:47:58,179 --> 00:48:00,159 Y lo que voy haciendo, los voy componiendo 1175 00:48:00,159 --> 00:48:01,239 Voy componiendo distintos 1176 00:48:01,239 --> 00:48:03,199 Componentes 1177 00:48:03,199 --> 00:48:06,119 Para crear la interfaz 1178 00:48:06,119 --> 00:48:06,719 Que yo quiero 1179 00:48:06,719 --> 00:48:10,599 Ahora, ¿Cómo ordeno estos elementos? 1180 00:48:10,820 --> 00:48:12,380 ¿Cómo ordeno los componentes? 1181 00:48:12,659 --> 00:48:13,980 ¿Vale? Hemos dicho que tengo 1182 00:48:13,980 --> 00:48:15,280 Dos formas 1183 00:48:15,280 --> 00:48:16,960 O uso un layout 1184 00:48:16,960 --> 00:48:19,579 O uso las coordinadas 1185 00:48:19,579 --> 00:48:22,159 Si el layout lo acepto como 1186 00:48:22,159 --> 00:48:24,119 Null, entonces quiere decir 1187 00:48:24,119 --> 00:48:26,559 Que tengo que trabajar con setBounds 1188 00:48:26,559 --> 00:48:28,679 Y cada elemento que voy poniendo 1189 00:48:28,679 --> 00:48:29,920 Le tengo que decir como está 1190 00:48:29,920 --> 00:48:32,019 Es el ejemplo que hemos hecho nosotros 1191 00:48:32,019 --> 00:48:32,420 ¿Vale? 1192 00:48:32,980 --> 00:48:35,460 Aquí como mi 1193 00:48:35,460 --> 00:48:37,920 Layout es null 1194 00:48:37,920 --> 00:48:39,039 ¿Vale? 1195 00:48:39,480 --> 00:48:41,800 Entonces seto yo 1196 00:48:41,800 --> 00:48:43,019 Donde van las cosas 1197 00:48:43,019 --> 00:48:46,929 De hecho 1198 00:48:46,929 --> 00:48:51,079 Fijaos en esto 1199 00:48:51,079 --> 00:48:54,639 ¿Veis esto? 1200 00:49:02,639 --> 00:49:03,679 ¿Veis esto? 1201 00:49:13,800 --> 00:49:15,880 No se parece mucho a lo de antes 1202 00:49:15,880 --> 00:49:23,980 Porque probablemente 1203 00:49:23,980 --> 00:49:24,800 Mi segundo 1204 00:49:24,800 --> 00:49:28,940 Set 1205 00:49:28,940 --> 00:49:30,639 Esto era 1206 00:49:30,639 --> 00:49:33,780 Layout 1207 00:49:33,780 --> 00:49:37,480 Simplemente tiene un layout 1208 00:49:37,480 --> 00:49:41,739 Entonces cuando creo el segundo 1209 00:49:41,739 --> 00:49:42,559 Se lo quito 1210 00:49:42,559 --> 00:49:46,099 Y ahora si lo añado 1211 00:49:46,099 --> 00:49:46,579 A 1212 00:49:46,579 --> 00:49:50,059 Segundo 1213 00:49:50,059 --> 00:50:00,380 Antes me salía más bonito 1214 00:50:00,380 --> 00:50:02,099 Porque no lo he hecho yo 1215 00:50:02,099 --> 00:50:04,679 No lo he puesto yo el tamaño del botón 1216 00:50:04,679 --> 00:50:05,820 Se lo ha dado a él 1217 00:50:05,820 --> 00:50:07,280 Y él tenía un layout 1218 00:50:07,280 --> 00:50:10,539 Entonces él ha dicho, vale, tú quieres añadir este botón 1219 00:50:10,539 --> 00:50:12,739 Con este tamaño, vale, te lo añado yo automáticamente 1220 00:50:12,739 --> 00:50:14,280 Porque no obstante 1221 00:50:14,280 --> 00:50:15,599 Yo le haya dado el set bounds 1222 00:50:15,599 --> 00:50:18,440 Como él tiene un layout, el layout gana 1223 00:50:18,440 --> 00:50:19,820 Sobre mi 1224 00:50:19,820 --> 00:50:22,519 Mi bound, en el momento en que se lo ha anulado 1225 00:50:22,519 --> 00:50:24,179 Le he dicho, mira, no tienes layout 1226 00:50:24,179 --> 00:50:26,599 Entonces dice, ah, vale, entonces mandas tú 1227 00:50:26,599 --> 00:50:28,340 Entonces hago lo que tú me mandas 1228 00:50:28,340 --> 00:50:29,619 Y sale esta cosa aquí 1229 00:50:29,619 --> 00:50:36,380 Entonces, ¿qué son estos layouts? 1230 00:50:36,739 --> 00:50:37,719 ¿Qué layouts hay? 1231 00:50:37,860 --> 00:50:39,559 Porque esto más o menos lo hemos probado 1232 00:50:39,559 --> 00:50:40,659 Vamos a ver los layouts 1233 00:50:40,659 --> 00:50:42,940 Hay distintos tipos de layouts 1234 00:50:42,940 --> 00:50:43,400 ¿Vale? 1235 00:50:44,300 --> 00:50:46,340 Que derivan desde este de aquí 1236 00:50:46,340 --> 00:50:48,280 Ahora, déjame ver si... 1237 00:50:48,280 --> 00:50:50,340 Porque... 1238 00:50:50,340 --> 00:50:51,920 Este enlace de aquí 1239 00:50:51,920 --> 00:50:58,139 Vale, no, no es esto 1240 00:50:58,139 --> 00:51:01,719 Aquí vienen los posibles layouts 1241 00:51:01,719 --> 00:51:03,539 Y cosas por el estilo de Java OBT 1242 00:51:03,539 --> 00:51:04,480 Etcétera, etcétera 1243 00:51:04,480 --> 00:51:06,500 Pero había una paginita 1244 00:51:06,500 --> 00:51:09,360 Bonita, que era esta de aquí 1245 00:51:09,360 --> 00:51:11,739 Donde os venían 1246 00:51:11,739 --> 00:51:13,460 Todos los posibles 1247 00:51:13,460 --> 00:51:14,239 Layout 1248 00:51:14,239 --> 00:51:17,460 ¿Vale? 1249 00:51:17,599 --> 00:51:19,400 Con una imagen 1250 00:51:19,400 --> 00:51:21,780 Y ejemplos 1251 00:51:21,780 --> 00:51:22,699 ¿Vale? 1252 00:51:22,960 --> 00:51:24,280 Pero no sé por qué 1253 00:51:24,280 --> 00:51:26,139 No carga más las imágenes 1254 00:51:26,139 --> 00:51:28,679 Entonces no se ve el ejemplo 1255 00:51:28,679 --> 00:51:29,880 Una pena porque esto era 1256 00:51:29,880 --> 00:51:31,880 Era un borreasunto, ¿vale? 1257 00:51:31,880 --> 00:51:33,920 Resumen, pero si os fijáis 1258 00:51:33,920 --> 00:51:36,199 Aquí hay todos estos tipos de layout 1259 00:51:36,199 --> 00:51:38,199 El border layout, el box layout 1260 00:51:38,199 --> 00:51:40,039 El card layout, el flow layout 1261 00:51:40,039 --> 00:51:42,059 El grid back layout, el grid layout 1262 00:51:42,059 --> 00:51:42,719 Blablabla 1263 00:51:42,719 --> 00:51:45,840 A nosotros nos interesan algunos de estos 1264 00:51:45,840 --> 00:51:48,000 ¿Vale? Con el que haremos ejemplos 1265 00:51:48,000 --> 00:51:49,940 Pero están todos, vosotros podéis utilizar 1266 00:51:49,940 --> 00:51:50,659 Como os dé la gana 1267 00:51:50,659 --> 00:51:53,380 En particular nos interesa 1268 00:51:53,380 --> 00:51:54,800 El flow layout 1269 00:51:54,800 --> 00:51:57,000 Que es, ponme uno al lado de otro 1270 00:51:57,000 --> 00:51:59,920 Nos interesa el 1271 00:51:59,920 --> 00:52:01,820 Border layout 1272 00:52:01,820 --> 00:52:04,500 Que es, créame cinco zonas 1273 00:52:04,500 --> 00:52:07,219 Arriba, abajo, izquierda, derecha y centro 1274 00:52:07,219 --> 00:52:09,099 Y luego ponme las cosas allí 1275 00:52:09,099 --> 00:52:12,440 Y el grid layout 1276 00:52:12,440 --> 00:52:14,960 Que es, sostancialmente, hazme una rejilla 1277 00:52:14,960 --> 00:52:18,099 De cuántas columnas y cuántas filas te digo yo 1278 00:52:18,099 --> 00:52:20,559 Y luego me pones los objetos allí dentro 1279 00:52:20,559 --> 00:52:21,960 ¿Sí? 1280 00:52:22,960 --> 00:52:26,440 Para ejemplos o cosas por el estilo 1281 00:52:26,440 --> 00:52:29,000 Lo podéis buscar en internet, etc, etc 1282 00:52:29,000 --> 00:52:30,019 Y vienen, ¿vale? 1283 00:52:30,380 --> 00:52:32,360 Nosotros vamos a hacer esto 1284 00:52:32,360 --> 00:52:34,260 FlowLayout 1285 00:52:34,260 --> 00:52:35,260 ¿Vale? 1286 00:52:35,780 --> 00:52:36,440 Entonces 1287 00:52:36,440 --> 00:52:40,280 Aquí tenemos un JFrame 1288 00:52:40,280 --> 00:52:41,199 Bla, bla, bla 1289 00:52:41,199 --> 00:52:43,760 Este tamaño, etc, etc 1290 00:52:43,760 --> 00:52:47,860 Y cuando llega a crear el layout 1291 00:52:47,860 --> 00:52:48,980 Me dice 1292 00:52:48,980 --> 00:52:49,739 Oye, mira 1293 00:52:49,739 --> 00:52:51,920 Crea un FlowLayout 1294 00:52:51,920 --> 00:52:52,639 ¿Vale? 1295 00:52:52,639 --> 00:52:53,880 Con sus 1296 00:52:53,880 --> 00:52:57,739 Atributos o parámetros 1297 00:52:57,739 --> 00:53:00,119 Que para saber que son estos de aquí 1298 00:53:00,119 --> 00:53:01,699 Tendré que ir a mirar 1299 00:53:01,699 --> 00:53:04,179 Flow layout 1300 00:53:04,179 --> 00:53:06,800 Esto será posiblemente como me alinea 1301 00:53:06,800 --> 00:53:08,420 El componente 1302 00:53:08,420 --> 00:53:11,079 Y luego si os fijáis 1303 00:53:11,079 --> 00:53:13,460 Lo que hace es crear muchos botones 1304 00:53:13,460 --> 00:53:15,699 Y añadirlos a este content pane 1305 00:53:15,699 --> 00:53:17,820 Que tiene este layout 1306 00:53:17,820 --> 00:53:18,760 Que sale 1307 00:53:18,760 --> 00:53:19,739 Una cosa así 1308 00:53:19,739 --> 00:53:22,039 Me pone uno detrás de otro 1309 00:53:22,039 --> 00:53:24,760 Cuando acaba que no hay más espacio 1310 00:53:24,760 --> 00:53:26,300 Va a la siguiente línea 1311 00:53:26,300 --> 00:53:30,320 Lo probamos 1312 00:53:30,320 --> 00:53:35,710 Entonces vamos a hacer 1313 00:53:35,710 --> 00:53:39,030 Otra prueba 1314 00:53:39,030 --> 00:53:43,860 Y aquí 1315 00:53:43,860 --> 00:53:45,840 Lo simplificamos un poco 1316 00:53:45,840 --> 00:53:47,619 Quitamos el segundo 1317 00:53:47,619 --> 00:53:55,210 Quitamos la etiqueta 1318 00:53:55,210 --> 00:53:59,820 Hacemos botones 1319 00:53:59,820 --> 00:54:00,300 Vale 1320 00:54:00,300 --> 00:54:08,309 Aquí están los botones 1321 00:54:08,309 --> 00:54:14,320 Esto creo que no sirve 1322 00:54:14,320 --> 00:54:16,199 Y en vez de este de aquí 1323 00:54:16,199 --> 00:54:18,500 Creamos un 1324 00:54:18,500 --> 00:54:20,820 Flow layout 1325 00:54:20,820 --> 00:54:22,780 De este tipo, vale 1326 00:54:22,780 --> 00:54:25,099 Entonces aquí le digo new 1327 00:54:25,099 --> 00:54:26,280 De hecho 1328 00:54:26,280 --> 00:54:30,889 Probamos sin ponerle nada 1329 00:54:30,889 --> 00:54:31,570 Vale 1330 00:54:31,570 --> 00:54:46,380 Si hacemos fondo.add 1331 00:54:46,380 --> 00:54:47,599 Botón 1 1332 00:54:47,599 --> 00:54:51,579 Fondo.add 1333 00:54:51,579 --> 00:54:53,519 Botón 2 1334 00:54:53,519 --> 00:54:58,130 A ver que hace esto 1335 00:54:58,130 --> 00:55:02,789 Vale 1336 00:55:02,789 --> 00:55:05,150 Veis que me ha puesto aquí esto y esto 1337 00:55:05,150 --> 00:55:06,190 Si ahora 1338 00:55:06,190 --> 00:55:08,449 Añado un tercero, que me hará 1339 00:55:08,449 --> 00:55:25,320 ¿Vale? 1340 00:55:25,559 --> 00:55:27,739 Si os fijáis, lo está centrando 1341 00:55:27,739 --> 00:55:29,500 ¿Vale? Esto porque 1342 00:55:29,500 --> 00:55:32,260 Por defecto, creo que está utilizando 1343 00:55:32,260 --> 00:55:33,260 Esta opción de aquí 1344 00:55:33,260 --> 00:55:35,000 La center 1345 00:55:35,000 --> 00:55:37,860 ¿Vale? La flow layout center 1346 00:55:37,860 --> 00:55:40,019 O sea que, en el espacio que tengo 1347 00:55:40,019 --> 00:55:42,039 Te los voy poniendo uno al lado de otro 1348 00:55:42,039 --> 00:55:43,500 En una fila 1349 00:55:43,500 --> 00:55:45,940 ¿Vale? Y el concepto es que 1350 00:55:45,940 --> 00:55:48,280 Intento centrarlos en el espacio 1351 00:55:48,280 --> 00:55:48,760 Que tengo 1352 00:55:48,760 --> 00:55:54,650 ¿Qué pasa si 1353 00:55:54,650 --> 00:55:56,909 El espacio que tengo es más pequeño 1354 00:55:56,909 --> 00:55:58,610 En vez que ancho 1000 1355 00:55:58,610 --> 00:55:59,829 Tengo ancho 100 1356 00:55:59,829 --> 00:56:06,960 Como se acaba la fila 1357 00:56:06,960 --> 00:56:08,920 Pues entonces me lo pone uno encima de otro 1358 00:56:08,920 --> 00:56:11,280 Si esto se hace más grande 1359 00:56:11,280 --> 00:56:15,480 Esto se adapta al tamaño que yo tengo 1360 00:56:15,480 --> 00:56:18,519 En el bien y en el mal 1361 00:56:18,519 --> 00:56:21,539 Si yo había pensado que tenía que estar uno encima de otro 1362 00:56:21,539 --> 00:56:24,519 Y de repente alguien me pone un maximiza 1363 00:56:24,519 --> 00:56:25,980 Y no está encima de otro 1364 00:56:25,980 --> 00:56:27,360 Pues tengo un problema 1365 00:56:27,360 --> 00:56:34,400 Que más quería probar yo 1366 00:56:34,400 --> 00:56:36,920 Fijaos que si uno 1367 00:56:36,920 --> 00:56:38,760 Es más grande 1368 00:56:38,760 --> 00:56:43,630 Él 1369 00:56:43,630 --> 00:56:46,110 Se organizará 1370 00:56:46,110 --> 00:56:47,909 Para que ese botón sea más grande 1371 00:56:47,909 --> 00:56:49,550 Y ocupe el espacio que tiene que ocupar 1372 00:56:49,550 --> 00:56:54,030 Claro que si lo hago demasiado pequeño 1373 00:56:54,030 --> 00:56:55,050 Pues me sobra un poco 1374 00:56:55,050 --> 00:56:59,690 Ahora 1375 00:56:59,690 --> 00:57:02,309 Que más puede hacer con un flow layout 1376 00:57:02,309 --> 00:57:03,289 Pues no sé 1377 00:57:03,289 --> 00:57:04,889 Vamos a buscar aquí 1378 00:57:04,889 --> 00:57:09,389 Java Flow Layout 1379 00:57:09,389 --> 00:57:17,139 Y aquí podéis buscar 1380 00:57:17,139 --> 00:57:19,019 Os explica como hacerlo 1381 00:57:19,019 --> 00:57:20,960 Las opciones que hay 1382 00:57:20,960 --> 00:57:25,699 Los varios constructores que tenéis 1383 00:57:25,699 --> 00:57:29,039 Que opciones podéis elegir 1384 00:57:29,039 --> 00:57:30,219 Etcétera, etcétera, etcétera 1385 00:57:30,219 --> 00:57:32,900 Si queréis, aquí encontráis también 1386 00:57:32,900 --> 00:57:34,380 Demo, vale 1387 00:57:34,380 --> 00:57:36,920 Habrá 1388 00:57:36,920 --> 00:57:40,320 Java que os podéis bajar 1389 00:57:40,320 --> 00:57:42,079 Y ver como lo han hecho ellos 1390 00:57:42,079 --> 00:57:44,559 Hoy en día con ChatGPT 1391 00:57:44,559 --> 00:57:45,659 Los ejemplos de este tipo 1392 00:57:45,659 --> 00:57:47,059 Supongo que habrá mucho 1393 00:57:47,059 --> 00:57:50,119 Otro 1394 00:57:50,119 --> 00:57:53,119 Layout 1395 00:57:53,119 --> 00:57:55,960 Que nos puede interesar 1396 00:57:55,960 --> 00:57:56,699 ¿Dónde está? 1397 00:57:57,559 --> 00:58:00,099 Aquí, el layout en grid 1398 00:58:00,099 --> 00:58:00,840 ¿Vale? 1399 00:58:01,340 --> 00:58:02,739 El layout en grid 1400 00:58:02,739 --> 00:58:05,780 Lo que hace es sostancialmente 1401 00:58:05,780 --> 00:58:07,260 crearme unos espacios 1402 00:58:07,260 --> 00:58:09,820 si, por ejemplo 1403 00:58:09,820 --> 00:58:10,539 aquí 1404 00:58:10,539 --> 00:58:13,840 cuando creo el layout le digo 1405 00:58:13,840 --> 00:58:16,039 hazme un grey layout y le doy 1406 00:58:16,039 --> 00:58:17,599 unos valores, vale 1407 00:58:17,599 --> 00:58:19,900 si no me acuerdo, estas son las 1408 00:58:19,900 --> 00:58:21,920 filas, estas son 1409 00:58:21,920 --> 00:58:23,320 las columnas 1410 00:58:23,320 --> 00:58:25,960 si pongo cero quiere decir que no te voy 1411 00:58:25,960 --> 00:58:27,420 a limitar cuantas filas 1412 00:58:27,420 --> 00:58:29,920 esto está diciendo, ponmelo sustancialmente 1413 00:58:29,920 --> 00:58:31,940 en filas 1414 00:58:31,940 --> 00:58:34,019 de seis elementos, cada seis 1415 00:58:34,019 --> 00:58:36,099 elementos vas a una nueva fila, ¿cuántas filas? 1416 00:58:36,159 --> 00:58:36,960 ¿cuántas da la gana? 1417 00:58:37,780 --> 00:58:39,880 si aquí pongo 3 y 6 1418 00:58:39,880 --> 00:58:41,980 pues me hará solo máximo 3 filas 1419 00:58:41,980 --> 00:58:43,599 de 6 elementos, si pongo más cosas 1420 00:58:43,599 --> 00:58:45,699 explotará diciendo no tengo espacio 1421 00:58:45,699 --> 00:58:48,099 y estos dos, no me acuerdo 1422 00:58:48,099 --> 00:58:50,019 entonces lo vamos a ver 1423 00:58:50,639 --> 00:58:55,880 grid layout 1424 00:58:55,880 --> 00:58:58,139 Java 1425 00:58:58,139 --> 00:59:02,699 vamos aquí por ejemplo 1426 00:59:02,699 --> 00:59:04,820 y vamos al 1427 00:59:04,820 --> 00:59:05,960 constructor, veis 1428 00:59:05,960 --> 00:59:08,380 Y me dice 1429 00:59:08,380 --> 00:59:11,360 Filas, columnas 1430 00:59:11,360 --> 00:59:15,400 La distancia entre filas 1431 00:59:15,400 --> 00:59:18,000 Y la distancia entre columnas 1432 00:59:18,000 --> 00:59:19,860 O sea, esto de aquí me dice 1433 00:59:19,860 --> 00:59:22,420 Cuanto van distanciados un elemento de otro 1434 00:59:22,420 --> 00:59:25,659 Sustantemente los bordes de la grid 1435 00:59:25,659 --> 00:59:26,199 Vamos 1436 00:59:26,199 --> 00:59:29,760 Más todas estas cosas que puedo hacer 1437 00:59:29,760 --> 00:59:30,199 ¿Vale? 1438 00:59:30,920 --> 00:59:34,889 Vamos a probarlo 1439 00:59:34,889 --> 00:59:38,730 Si en vez 1440 00:59:38,730 --> 00:59:39,849 De un 1441 00:59:39,849 --> 00:59:44,150 Layout 1442 00:59:44,150 --> 00:59:46,269 Aquí le he puesto un layout por defecto 1443 00:59:46,269 --> 00:59:47,650 Creo que es el flow 1444 00:59:47,650 --> 00:59:49,909 Entonces aquí le digo 1445 00:59:49,909 --> 00:59:54,829 Que fondo.setlayer 1446 00:59:54,829 --> 00:59:58,349 De new 1447 00:59:58,349 --> 01:00:01,230 Grid layer 1448 01:00:01,230 --> 01:00:02,489 De 1449 01:00:02,489 --> 01:00:06,809 Hagamos 0.2 1450 01:00:06,809 --> 01:00:14,849 Change to 1451 01:00:14,849 --> 01:00:17,010 Relayout, no layer 1452 01:00:17,010 --> 01:00:19,170 Porque layer lo se suyo 1453 01:00:19,170 --> 01:00:21,670 Ahí, vale 1454 01:00:21,670 --> 01:00:24,190 Entonces aquí le estoy diciendo 1455 01:00:24,190 --> 01:00:26,130 Oye mira, quiero filas de 1456 01:00:26,130 --> 01:00:27,710 No se cuanta fila, pero 1457 01:00:27,710 --> 01:00:29,789 Dos columnas, vale 1458 01:00:29,789 --> 01:00:31,469 Y aquí ahora añado 1459 01:00:31,469 --> 01:00:34,469 Un botón 1460 01:00:34,469 --> 01:00:42,860 Lo pone aquí 1461 01:00:42,860 --> 01:00:44,719 Porque todo esto 1462 01:00:44,719 --> 01:00:47,440 Son dividido en dos 1463 01:00:47,440 --> 01:00:49,500 ¿Vale? Y me la he puesto en la primera 1464 01:00:49,500 --> 01:00:53,119 Entonces, este botón ocupa todo el primer 1465 01:00:53,119 --> 01:00:54,500 Bloque 1466 01:00:54,500 --> 01:00:55,579 ¿Sí? 1467 01:00:56,559 --> 01:00:57,719 Ahora añado dos 1468 01:00:57,719 --> 01:01:06,900 Entonces, ahora tengo mis dos botones 1469 01:01:06,900 --> 01:01:08,820 Una a la izquierda, una a la derecha 1470 01:01:08,820 --> 01:01:10,199 ¿Sí? 1471 01:01:10,840 --> 01:01:11,760 Ahora añado tres 1472 01:01:11,760 --> 01:01:14,239 ¿Qué pasará? 1473 01:01:18,980 --> 01:01:20,599 Como no puedo añadirlo aquí 1474 01:01:20,599 --> 01:01:22,840 Porque ha acabado la fila 1475 01:01:22,840 --> 01:01:24,420 Porque las filas son de dos columnas 1476 01:01:24,420 --> 01:01:26,179 Pues me crea una nueva fila 1477 01:01:26,179 --> 01:01:28,559 Y aquí pone el siguiente botón 1478 01:01:28,559 --> 01:01:31,059 Por lo tanto ahora tengo dos filas 1479 01:01:31,059 --> 01:01:32,000 De dos columnas 1480 01:01:32,000 --> 01:01:34,880 ¿Sí? Y así, así, así 1481 01:01:34,880 --> 01:01:36,239 Claramente esto 1482 01:01:36,239 --> 01:01:38,820 Podría ser un segundo 1483 01:01:38,820 --> 01:01:40,719 Un, un, un 1484 01:01:40,719 --> 01:01:41,820 Como esto 1485 01:01:41,820 --> 01:01:45,039 Podría ser una situación como esta de aquí 1486 01:01:45,039 --> 01:01:47,679 Y que sea este aquí dentro 1487 01:01:47,679 --> 01:01:49,280 Que sea organizado como una grilla 1488 01:01:49,280 --> 01:01:51,039 Mentre, como una grid 1489 01:01:51,039 --> 01:01:52,639 Mentre que el resto 1490 01:01:52,639 --> 01:01:55,320 Fuera sea organizado como 1491 01:01:55,320 --> 01:01:58,099 Un flow y que otra parte 1492 01:01:58,099 --> 01:01:59,639 Se ha organizado que he decidido yo 1493 01:01:59,639 --> 01:02:01,739 Donde poner las cosas, o sea, cada panel 1494 01:02:01,739 --> 01:02:02,820 Tiene su layout 1495 01:02:02,820 --> 01:02:04,440 ¿Se entiende, no? 1496 01:02:07,570 --> 01:02:09,050 Entonces, esta es la grilla 1497 01:02:09,050 --> 01:02:09,889 La grid 1498 01:02:09,889 --> 01:02:14,139 Más 1499 01:02:14,139 --> 01:02:19,920 El tercero que nos interesa 1500 01:02:19,920 --> 01:02:21,039 Es este de aquí, ¿vale? 1501 01:02:21,199 --> 01:02:23,840 Este de aquí es el border layout 1502 01:02:23,840 --> 01:02:25,639 Que lo que me hace es 1503 01:02:25,639 --> 01:02:26,480 Me crea 1504 01:02:26,480 --> 01:02:30,480 Una serie de áreas 1505 01:02:30,480 --> 01:02:31,739 Arriba 1506 01:02:31,739 --> 01:02:34,119 Abajo, izquierda, derecha y centro 1507 01:02:34,119 --> 01:02:35,800 Que yo luego pueda poner 1508 01:02:35,800 --> 01:02:36,840 Cosas allí dentro 1509 01:02:36,840 --> 01:02:39,960 Puedo poner botones, podría poner panel 1510 01:02:39,960 --> 01:02:41,599 Podría poner etiqueta 1511 01:02:41,599 --> 01:02:42,820 Podría poner lo que me da la gana 1512 01:02:42,820 --> 01:02:45,340 Podría poner aquí y aquí un botón 1513 01:02:45,340 --> 01:02:47,719 En el centro poner un layer 1514 01:02:47,719 --> 01:02:49,480 Un panel 1515 01:02:49,480 --> 01:02:52,079 Y ese panel organizado como 1516 01:02:52,079 --> 01:02:53,940 Una grid 1517 01:02:53,940 --> 01:02:56,179 O sea, puedo combinar cuanto me da la gana 1518 01:02:56,179 --> 01:02:57,119 ¿Sí? 1519 01:02:57,880 --> 01:02:59,019 Eso sería así 1520 01:02:59,019 --> 01:03:03,079 Fijaos que para acceder a las zonas 1521 01:03:03,079 --> 01:03:04,820 Le tengo que decir 1522 01:03:04,820 --> 01:03:09,059 North, South, East, West y Center 1523 01:03:09,059 --> 01:03:11,039 Esta es la zona North 1524 01:03:11,039 --> 01:03:12,380 South 1525 01:03:12,380 --> 01:03:16,800 West, East, Center 1526 01:03:16,800 --> 01:03:22,300 Por ejemplo, si quiero añadir este botón arriba 1527 01:03:22,300 --> 01:03:23,579 Le tengo que poner 1528 01:03:23,579 --> 01:03:26,059 Añade el botón arriba 1529 01:03:26,059 --> 01:03:30,199 vamos a probarlo 1530 01:03:30,199 --> 01:03:38,719 esos son 1531 01:03:38,719 --> 01:03:39,239 son 1532 01:03:39,239 --> 01:03:42,500 constantes estáticas 1533 01:03:42,500 --> 01:03:44,679 de la clase border layout que representan 1534 01:03:44,679 --> 01:03:46,340 arriba, serán numeritos 1535 01:03:46,340 --> 01:03:49,460 aquí 1536 01:03:49,460 --> 01:03:53,670 esto es 1537 01:03:53,670 --> 01:03:56,170 creo la distancia entre 1538 01:03:56,170 --> 01:03:58,050 entre arriba y abajo 1539 01:03:58,050 --> 01:03:58,929 vale, pero eso 1540 01:03:58,929 --> 01:04:03,300 vale, vamos a 1541 01:04:03,300 --> 01:04:05,920 probar este otro 1542 01:04:05,920 --> 01:04:07,599 layout, le cambio el layout 1543 01:04:07,599 --> 01:04:10,300 Y le digo, oye mira, tu nuevo layout es 1544 01:04:10,300 --> 01:04:17,010 Un border layout 1545 01:04:17,010 --> 01:04:23,099 Y ahora luego vamos a ver que son estos datos de aquí 1546 01:04:23,099 --> 01:04:26,280 Lo importo 1547 01:04:26,280 --> 01:04:30,000 Y ahora cuando añado algo le tengo que decir donde lo quiero añadir 1548 01:04:30,000 --> 01:04:33,420 Por ejemplo este de aquí lo añado 1549 01:04:33,420 --> 01:04:36,800 En border layout 1550 01:04:36,800 --> 01:04:39,179 Punto north 1551 01:04:39,179 --> 01:04:42,900 Esto, el botón pulsa 1552 01:04:42,900 --> 01:04:44,380 Me lo añadirá arriba 1553 01:04:44,380 --> 01:04:47,320 Este de aquí por ejemplo 1554 01:04:47,320 --> 01:04:49,480 Lo quiero a la derecha 1555 01:04:49,480 --> 01:04:53,309 Para ponerlo a la derecha 1556 01:04:53,309 --> 01:04:58,219 Este de aquí lo quiero 1557 01:04:58,219 --> 01:05:07,840 No me acuerdo que tengo que poner 1558 01:05:07,840 --> 01:05:14,780 Ahí, ahora si 1559 01:05:14,780 --> 01:05:17,840 Entonces cuando esto lo lanzo 1560 01:05:17,840 --> 01:05:20,960 Dejadme poner algo también al centro 1561 01:05:20,960 --> 01:05:22,800 El botón 4 lo ponga al centro 1562 01:05:22,800 --> 01:05:24,360 Porque si no luego la tengo atarada 1563 01:05:24,360 --> 01:05:27,199 El botón 4 1564 01:05:27,199 --> 01:05:28,760 Me lo pones en el centro 1565 01:05:28,760 --> 01:05:39,829 Ahí que está organizado 1566 01:05:39,829 --> 01:05:41,630 Con esta a la izquierda 1567 01:05:41,630 --> 01:05:43,590 Esta al centro, esta a la derecha y esta arriba 1568 01:05:43,590 --> 01:05:48,699 Y con esto se puede 1569 01:05:48,699 --> 01:05:51,559 Se pueden hacer cosas 1570 01:05:51,559 --> 01:05:52,579 Vale, típicamente 1571 01:05:52,579 --> 01:05:55,739 Este de aquí lo podría hacer 1572 01:05:55,739 --> 01:05:57,320 Que el botón derecho 1573 01:05:57,320 --> 01:05:58,880 Es a la derecha 1574 01:05:58,880 --> 01:05:59,860 Le pongo 1575 01:05:59,860 --> 01:06:02,300 Frechita a la derecha 1576 01:06:02,300 --> 01:06:05,519 El botón 3 le pongo 1577 01:06:05,519 --> 01:06:07,420 Frechita a la izquierda 1578 01:06:07,420 --> 01:06:12,510 Y ahora tengo 1579 01:06:12,510 --> 01:06:14,349 Una cosa 1580 01:06:14,349 --> 01:06:17,650 Que tiene un botón para ir a la izquierda 1581 01:06:17,650 --> 01:06:18,929 Y un botón para ir a la derecha 1582 01:06:18,929 --> 01:06:22,579 Y aquí en el medio 1583 01:06:22,579 --> 01:06:23,380 No sé 1584 01:06:23,380 --> 01:06:26,820 Nosotros dentro de un rato lo que haremos es 1585 01:06:26,820 --> 01:06:28,380 Por ejemplo, ¿os acordáis nuestro 1586 01:06:28,380 --> 01:06:30,159 Programa para 1587 01:06:30,159 --> 01:06:31,840 Los alumnos? 1588 01:06:32,699 --> 01:06:34,920 Que los datos de los alumnos aparezcan 1589 01:06:34,920 --> 01:06:36,619 Aquí al centro y yo tenga aquí 1590 01:06:36,619 --> 01:06:38,360 Una flechita a la izquierda y una flechita a la derecha 1591 01:06:38,360 --> 01:06:41,099 Y cada vez que pincho en una de estas me cambia el alumno 1592 01:06:41,099 --> 01:06:42,820 Para que yo pueda ver los datos 1593 01:06:42,820 --> 01:06:43,699 De todos los alumnos 1594 01:06:43,699 --> 01:06:46,159 Y aquí a lo mejor tengo busca 1595 01:06:46,159 --> 01:06:48,960 Y si aquí le pongo el ID del alumno 1596 01:06:48,960 --> 01:06:50,019 Y luego pincho busca 1597 01:06:50,019 --> 01:06:52,400 Pues me carga aquí directamente 1598 01:06:52,400 --> 01:06:54,500 Los datos del alumno que busca 1599 01:06:54,500 --> 01:07:01,429 Esto dentro de un rato 1600 01:07:01,429 --> 01:07:03,010 Fijaos que por ahora 1601 01:07:03,010 --> 01:07:04,610 Nuestra interfaz hace 1602 01:07:04,610 --> 01:07:07,010 Nada 1603 01:07:07,010 --> 01:07:10,510 ¿Por qué? 1604 01:07:11,030 --> 01:07:12,489 Porque todavía no hemos visto 1605 01:07:15,289 --> 01:07:15,849 Esto 1606 01:07:15,849 --> 01:07:20,349 Programación orientada a eventos 1607 01:07:20,349 --> 01:07:23,809 O sea, cuando alguien pulsa el botón 1608 01:07:23,809 --> 01:07:25,309 Hace esto 1609 01:07:25,309 --> 01:07:27,690 Cuando alguien pasa por encima 1610 01:07:27,690 --> 01:07:29,969 ¿Eso si lo habéis hecho en HTML? 1611 01:07:31,590 --> 01:07:32,949 ¿FSS, el over? 1612 01:07:33,710 --> 01:07:35,730 ¿Algo de JavaScript lo habéis hecho? 1613 01:07:36,789 --> 01:07:37,389 Ya es esa 1614 01:07:37,389 --> 01:07:40,230 OnClick, pues hace esto 1615 01:07:40,230 --> 01:07:40,869 ¿Sí? 1616 01:07:42,050 --> 01:07:43,550 Que veremos la próxima vez