1 00:00:00,500 --> 00:00:27,780 Vale, pues si avanzamos un poquito más en esta aplicación, recordad que el diseño era este, bueno, el diseño era estas pestañitas para hacer cosas y luego el JList en el que se supone que aparece la lista de pedidos, entonces ella por lo que ha optado es descripción, ponemos aquí la descripción y al añadir pedido, el pedido ya aparece aquí, sin productos. 2 00:00:27,780 --> 00:00:29,800 y luego ha optado 3 00:00:29,800 --> 00:00:31,359 cuando el pedido ya existe 4 00:00:31,359 --> 00:00:33,320 pues que tú le puedas añadir productos aquí 5 00:00:33,320 --> 00:00:35,740 es una opción, yo lo que dije es que añadir productos 6 00:00:35,740 --> 00:00:37,380 lo pusierais dentro de actualizar 7 00:00:37,380 --> 00:00:39,600 porque era lo único que íbamos a actualizar, pero bueno da igual 8 00:00:39,600 --> 00:00:41,060 lo que importa es que la funcionalidad esté 9 00:00:41,060 --> 00:00:43,520 vale, pero aquí cuando tú pones el panel 10 00:00:43,520 --> 00:00:44,299 consultar 11 00:00:44,299 --> 00:00:47,479 que estamos aquí, el panel 12 00:00:47,479 --> 00:00:49,560 consultar que es este, la idea 13 00:00:49,560 --> 00:00:51,119 del JList precisamente 14 00:00:51,119 --> 00:00:53,299 es que este campo no haga falta 15 00:00:53,299 --> 00:00:55,479 porque tú aquí tienes 16 00:00:55,479 --> 00:00:57,039 tu lista, seleccionas uno 17 00:00:57,039 --> 00:00:59,060 y cuando le des a consultar 18 00:00:59,060 --> 00:01:01,659 te va a consultar el que está aquí seleccionado 19 00:01:01,659 --> 00:01:03,520 no le tienes que decir al usuario mete el código 20 00:01:03,520 --> 00:01:05,379 porque entonces la aplicación se hace muy 21 00:01:05,379 --> 00:01:07,640 poco agradable 22 00:01:07,640 --> 00:01:09,379 de usar, lo agradable es que él vea 23 00:01:09,379 --> 00:01:10,739 siempre aquí la lista de pedidos 24 00:01:10,739 --> 00:01:13,640 en el panel de actualizar 25 00:01:13,640 --> 00:01:15,319 tú ahora mismo aquí como 26 00:01:15,319 --> 00:01:17,280 la única funcionalidad de actualizar 27 00:01:17,280 --> 00:01:19,400 que dijimos que íbamos a poner es la de 28 00:01:19,400 --> 00:01:20,620 añadir un pedido a un producto 29 00:01:20,620 --> 00:01:22,159 esto pues 30 00:01:22,159 --> 00:01:25,400 en este caso esta funcionalidad añadir producto 31 00:01:25,400 --> 00:01:26,459 sería este producto 32 00:01:26,459 --> 00:01:28,939 al pedido que hayas seleccionado 33 00:01:28,939 --> 00:01:30,819 aquí, al que hayas seleccionado aquí 34 00:01:30,819 --> 00:01:32,840 vale, pues en tu caso como ya 35 00:01:32,840 --> 00:01:35,099 esa funcionalidad de añadir producto a un pedido 36 00:01:35,099 --> 00:01:36,680 que está aquí seleccionado y ahora tienes 37 00:01:36,680 --> 00:01:38,980 puesta ahí, pues el panel de 38 00:01:38,980 --> 00:01:41,000 actualizar se te queda 39 00:01:41,000 --> 00:01:43,079 que lo has 40 00:01:43,079 --> 00:01:44,519 puesto para actualizar descripción 41 00:01:44,519 --> 00:01:46,239 pero de nuevo 42 00:01:46,239 --> 00:01:48,760 esto de buscar no te haría falta 43 00:01:48,760 --> 00:01:50,579 porque tú seleccionarías aquí el pedido 44 00:01:50,579 --> 00:01:52,099 y aquí 45 00:01:52,099 --> 00:01:54,519 vale, con lo cual 46 00:01:54,519 --> 00:01:57,620 vamos a quitar todo lo que sobra 47 00:01:57,620 --> 00:02:00,659 para que se le quede a alguien una versión a medias 48 00:02:00,659 --> 00:02:03,900 si quiere hacerla partir de aquí 49 00:02:03,900 --> 00:02:06,560 en insertar dejamos todo lo que está 50 00:02:06,560 --> 00:02:10,319 ponemos la descripción, añadimos pedido y aparecerá aquí 51 00:02:10,319 --> 00:02:12,159 y ahora añadir producto 52 00:02:12,159 --> 00:02:14,860 se añadirá este producto al pedido seleccionado aquí 53 00:02:14,860 --> 00:02:16,460 aquí no sobra ni falta nada 54 00:02:16,460 --> 00:02:20,080 panel consultar, en el panel consultar sobra 55 00:02:20,080 --> 00:02:23,319 esta etiqueta y este texto 56 00:02:23,319 --> 00:02:26,199 Porque se va a consultar el pedido que esté aquí. 57 00:02:26,740 --> 00:02:32,699 Y a cambio falta, a cambio falta el control para mostrar el resultado. 58 00:02:32,900 --> 00:02:36,360 Pues ese control que sea un textarea, por ejemplo, una ventanita grande. 59 00:02:37,060 --> 00:02:58,259 Pues vamos a poner un textarea, por ejemplo aquí, pues este textarea de aquí va a ser para mostrar el contenido del pedido que hemos consultado. 60 00:02:58,500 --> 00:03:23,979 Vale, luego el panel consultar se nos queda así, el panel actualizar, el panel actualizar, esto de código nos sobra y esto nos sobra y esto nos sobra, porque del que se le va a actualizar su descripción, Pedro, es del que esté, es del que esté seleccionado aquí. 61 00:03:23,979 --> 00:03:26,020 Luego el panel actualizar se queda aquí 62 00:03:26,020 --> 00:03:27,460 Descripción, el huequito 63 00:03:27,460 --> 00:03:30,680 Y cambiamos la descripción del pedido que está aquí 64 00:03:30,680 --> 00:03:31,080 Por este 65 00:03:31,080 --> 00:03:33,939 Y en eliminar, en el panel eliminar 66 00:03:33,939 --> 00:03:35,319 Que es este 67 00:03:35,319 --> 00:03:37,400 También te sobra esto 68 00:03:37,400 --> 00:03:39,500 Y te sobra esto 69 00:03:39,500 --> 00:03:42,000 Porque vamos simplemente a 70 00:03:42,000 --> 00:03:44,139 Eliminar el que esté seleccionado aquí 71 00:03:44,139 --> 00:03:46,039 ¿Vale? O sea, se quedan 72 00:03:46,039 --> 00:03:46,599 Pues 73 00:03:46,599 --> 00:03:49,819 Claro, pero bueno 74 00:03:49,819 --> 00:03:51,939 De hecho dijimos que 75 00:03:51,939 --> 00:03:53,740 Bueno, lo pusiéramos aquí debajo y ya está 76 00:03:53,740 --> 00:03:56,819 Pero bueno, da igual lo ponemos ahí 77 00:03:56,819 --> 00:03:58,599 Da igual ponerlo aquí, ponerlo aquí es lo mismo 78 00:03:58,599 --> 00:04:00,180 Lo que nos importa es que va a tener un listener 79 00:04:00,180 --> 00:04:02,419 Bueno, pues de todo esto 80 00:04:02,419 --> 00:04:03,659 ¿Qué listener has hecho tú? 81 00:04:03,759 --> 00:04:05,460 Has hecho el de añadir pedido 82 00:04:05,460 --> 00:04:07,099 ¿Vale? Has hecho ese 83 00:04:07,099 --> 00:04:09,500 Entonces, el de añadir pedido 84 00:04:09,500 --> 00:04:11,400 Pues ya tiene su cosa 85 00:04:11,400 --> 00:04:14,120 Porque el de añadir pedido, ¿qué tiene que hacer? 86 00:04:15,060 --> 00:04:16,420 El de añadir pedido 87 00:04:16,420 --> 00:04:18,220 Tiene que coger la descripción 88 00:04:18,220 --> 00:04:19,339 Crear un producto nuevo 89 00:04:19,339 --> 00:04:21,180 Perdón, un pedido nuevo 90 00:04:21,180 --> 00:04:23,740 y añadirlo al list, este de aquí 91 00:04:23,740 --> 00:04:25,540 bueno, pues el list 92 00:04:25,540 --> 00:04:27,120 que es el componente desconocido 93 00:04:27,120 --> 00:04:29,860 es un elemento sencillo 94 00:04:29,860 --> 00:04:30,120 porque 95 00:04:30,120 --> 00:04:33,699 ah, bueno, sí, claro, tienes razón 96 00:04:33,699 --> 00:04:35,360 y el map, vale, el list 97 00:04:35,360 --> 00:04:37,699 es un elemento sencillo porque el JList 98 00:04:37,699 --> 00:04:39,660 al igual que el combo box 99 00:04:39,660 --> 00:04:41,579 le podemos 100 00:04:41,579 --> 00:04:43,180 no parametrizar 101 00:04:43,180 --> 00:04:45,720 y el JList que admita cualquier cosa 102 00:04:45,720 --> 00:04:47,620 entonces, lo que pasa 103 00:04:47,620 --> 00:04:48,600 es que como el JList 104 00:04:48,600 --> 00:04:50,259 te muestra 105 00:04:50,259 --> 00:04:52,959 esa cualquier cosa que le mandamos 106 00:04:52,959 --> 00:04:54,759 tendrá que llamar al toString, claro 107 00:04:54,759 --> 00:04:57,279 en este caso tú lo has parametrizado 108 00:04:57,279 --> 00:04:58,939 que está bien para que ya 109 00:04:58,939 --> 00:05:00,600 desde código 110 00:05:00,600 --> 00:05:02,759 desde fase de compilación, desde código 111 00:05:02,759 --> 00:05:04,860 solo nos permita pasarle 112 00:05:04,860 --> 00:05:07,000 objetos pedido, entonces le pasaremos 113 00:05:07,000 --> 00:05:09,120 objetos pedido y nos mostrará 114 00:05:09,120 --> 00:05:10,939 del pedido lo que figura en el 115 00:05:10,939 --> 00:05:13,120 toString, claro lo que figura en el toString 116 00:05:13,120 --> 00:05:15,060 entonces si nos vamos al toString 117 00:05:15,060 --> 00:05:16,399 de pedido que está sin hacer 118 00:05:16,399 --> 00:05:18,540 pues vamos a hacer un toString de pedido 119 00:05:18,540 --> 00:05:20,879 con lo que queramos que muestre el JList 120 00:05:20,879 --> 00:05:22,540 por ejemplo 121 00:05:22,540 --> 00:05:23,459 entonces 122 00:05:23,459 --> 00:05:25,639 nos hacemos un toString 123 00:05:25,639 --> 00:05:28,480 con código y descripción solamente 124 00:05:28,480 --> 00:05:30,660 vale 125 00:05:30,660 --> 00:05:32,500 pedido, descripción 126 00:05:32,500 --> 00:05:34,639 código, como va a quedar muy largo 127 00:05:34,639 --> 00:05:35,379 y no lo vamos a ver 128 00:05:35,379 --> 00:05:37,300 pues vamos a quitarle 129 00:05:37,300 --> 00:05:39,959 vale 130 00:05:39,959 --> 00:05:40,839 a ver 131 00:05:40,839 --> 00:05:49,959 bueno, como voy a empezar a cambiar 132 00:05:49,959 --> 00:05:52,240 y a pegar y me voy a liar con las comas 133 00:05:52,240 --> 00:05:54,060 y las esas, voy a dejarlo así 134 00:05:54,060 --> 00:05:54,399 pero es 135 00:05:54,399 --> 00:05:57,740 descripción, código 136 00:05:57,740 --> 00:05:59,939 lo del código 137 00:05:59,939 --> 00:06:02,199 en realidad es si tú tienes que distinguir pedidos 138 00:06:02,199 --> 00:06:04,000 con la misma descripción, pero sobre todo 139 00:06:04,000 --> 00:06:05,879 el usuario cuando va a consultar 140 00:06:05,879 --> 00:06:07,639 él, el dato que tiene en la cabeza 141 00:06:07,639 --> 00:06:10,160 quiere consultar el de bolis, quiere consultar 142 00:06:10,160 --> 00:06:11,660 el de gomas, entonces es lo que más 143 00:06:11,660 --> 00:06:13,279 lo que pasa es que si tiene varios de bolis 144 00:06:13,279 --> 00:06:15,399 entonces pues sí, la interesa ya 145 00:06:15,399 --> 00:06:17,000 ah, pero dime, ¿qué código es? 146 00:06:17,000 --> 00:06:19,339 es que siempre, aunque es verdad que es la descripción 147 00:06:19,339 --> 00:06:21,199 más intuitiva, el código al final 148 00:06:21,199 --> 00:06:22,779 siempre lo vas a tener en mente, porque si quieres 149 00:06:22,779 --> 00:06:25,079 todos los 300, ni te acuerdas de la descripción 150 00:06:25,079 --> 00:06:25,819 ni te acuerdas de nada 151 00:06:25,819 --> 00:06:28,920 a ver, yo creo que es lo contrario, normalmente el gestor 152 00:06:28,920 --> 00:06:31,519 el secretario que está ahí, no se acuerda de los códigos 153 00:06:31,519 --> 00:06:33,480 por eso se acuerda de las descripciones 154 00:06:33,480 --> 00:06:34,980 claro, pero cuando viene un usuario 155 00:06:34,980 --> 00:06:36,660 o alguien, yo siempre lo pongo en ese sentido 156 00:06:36,660 --> 00:06:38,019 si me habla alguien de 157 00:06:38,019 --> 00:06:40,199 en mi pedido, número, no sé qué 158 00:06:40,199 --> 00:06:42,620 claro, pero el usuario tampoco te va a decir 159 00:06:42,620 --> 00:06:44,980 el código, soy Pepito 160 00:06:44,980 --> 00:06:47,220 este es mi pedido y tú lo buscarás por los parámetros 161 00:06:47,220 --> 00:06:48,980 que te da el usuario, que no son los técnicos 162 00:06:48,980 --> 00:06:50,600 el técnico es el del código 163 00:06:50,600 --> 00:06:53,240 a menos que tú le hayas enviado un email, tu código es este 164 00:06:53,240 --> 00:06:55,060 si quieres una búsqueda, busca por código 165 00:06:55,060 --> 00:06:57,379 claro, a ver, el asunto 166 00:06:57,379 --> 00:06:59,180 es que todo esto pues le falta 167 00:06:59,180 --> 00:07:00,959 lógicamente muchísimos más detalles 168 00:07:00,959 --> 00:07:03,379 para saber exactamente cuál va a ser 169 00:07:03,379 --> 00:07:04,600 el patrón de funcionamiento 170 00:07:04,600 --> 00:07:07,399 claro, es que 171 00:07:07,399 --> 00:07:08,699 todo esto le falta una 172 00:07:08,699 --> 00:07:11,259 fase de análisis y diseño muchísimo más 173 00:07:11,259 --> 00:07:13,259 completa, para decir, a ver 174 00:07:13,259 --> 00:07:15,079 esto va a funcionar exactamente así 175 00:07:15,079 --> 00:07:17,220 vale, que nos falta 176 00:07:17,220 --> 00:07:18,420 bueno 177 00:07:18,420 --> 00:07:21,199 vale, pues ya está, entonces 178 00:07:21,199 --> 00:07:23,439 ahora, el evento 179 00:07:23,439 --> 00:07:25,279 del, el evento del 180 00:07:25,279 --> 00:07:27,399 botón, este añadir pedido 181 00:07:27,399 --> 00:07:28,220 que es el que has hecho 182 00:07:28,220 --> 00:07:30,680 pues aquí que es lo que has hecho 183 00:07:30,680 --> 00:07:33,079 pues en este evento 184 00:07:33,079 --> 00:07:35,139 un nuevo pedido con la descripción 185 00:07:35,139 --> 00:07:37,180 ahora, cuando aparece 186 00:07:37,180 --> 00:07:37,939 algo amarillo 187 00:07:37,939 --> 00:07:40,879 al menos, escuchadle 188 00:07:40,879 --> 00:07:42,399 por dios 189 00:07:42,399 --> 00:07:44,800 porque es que no es que hayas hecho algo mal 190 00:07:44,800 --> 00:07:46,779 que no te vaya a funcionar, pero tienes alguna 191 00:07:46,779 --> 00:07:48,839 práctica de programación muy fea y muy poco 192 00:07:48,839 --> 00:07:50,959 elegante, seguro, si hay algo amarillo 193 00:07:50,959 --> 00:07:52,879 te dice anda que eres un poco 194 00:07:52,879 --> 00:07:54,899 cutre, que te está diciendo 195 00:07:54,899 --> 00:07:56,860 oye perdona, pedidos es 196 00:07:56,860 --> 00:07:58,980 una variable estática, hace el favor 197 00:07:58,980 --> 00:08:00,459 de accederla en el modo estático 198 00:08:00,459 --> 00:08:02,180 hace el favor 199 00:08:02,180 --> 00:08:05,199 y el modo estático es con el nombre de la clase 200 00:08:05,199 --> 00:08:06,139 que da datos 201 00:08:06,139 --> 00:08:08,680 ahora ya esto mucho más profesional 202 00:08:08,680 --> 00:08:11,360 pues metemos el pedido 203 00:08:11,360 --> 00:08:13,199 en nuestros datos 204 00:08:13,199 --> 00:08:15,500 esto sería el equivalente a meterlo 205 00:08:15,500 --> 00:08:17,639 en la base de datos, el equivalente a la base de datos 206 00:08:17,639 --> 00:08:19,579 que no tenemos, y ahora ya 207 00:08:19,579 --> 00:08:20,920 se lo añadimos al list 208 00:08:20,920 --> 00:08:23,800 al list, pero esto del list 209 00:08:23,800 --> 00:08:25,819 ¿esto qué es? esto es el list 210 00:08:25,819 --> 00:08:27,639 en realidad es el 211 00:08:27,639 --> 00:08:29,000 modelo que tiene asociado el list 212 00:08:29,000 --> 00:08:31,500 porque el JList funciona, este es nuestro 213 00:08:31,500 --> 00:08:33,440 JList, que tú le has 214 00:08:33,440 --> 00:08:35,539 instanciado aquí, abajo del todo 215 00:08:35,539 --> 00:08:37,399 esto es nuestro 216 00:08:37,399 --> 00:08:38,139 JList 217 00:08:38,139 --> 00:08:41,019 que está instanciado 218 00:08:41,019 --> 00:08:45,559 aquí, que esto no lo tenías puesto 219 00:08:45,559 --> 00:08:47,539 ya que está parametrizado, porque te volvía a salir 220 00:08:47,539 --> 00:08:49,340 el aviso, te decía, hombre, si está parametrizado 221 00:08:49,340 --> 00:08:51,379 cuando la instancia es instancia lo parametrizado 222 00:08:51,379 --> 00:08:53,720 vale, pero cuando instancias el JList 223 00:08:53,720 --> 00:08:55,320 tú puedes 224 00:08:55,320 --> 00:08:57,559 no es que sea obligatorio, pasarle 225 00:08:57,559 --> 00:08:59,299 un objeto modelo asociado 226 00:08:59,299 --> 00:09:01,539 y a través de ese objeto modelo es a través 227 00:09:01,539 --> 00:09:03,519 del que le metes elementos 228 00:09:03,519 --> 00:09:05,679 nuevos y se los quitas, les metes y se los quitas 229 00:09:05,679 --> 00:09:24,059 Bueno, pues este modelo lista pedidos que lo tienes aquí declarado es efectivamente un objeto modelo que lo asociamos al JList. Lo podemos asociar en el momento de instanciarlo como has hecho tú. 230 00:09:24,059 --> 00:09:36,039 O sea, hemos tenido que crear dos cosas, el JList en sí, que es el objeto gráfico y el default list model, que es un objeto que es el que recibe y del que se quitan los elementos y él ya se lo pasa al JList para que lo haga visible. 231 00:09:36,039 --> 00:09:39,120 bueno, pues al JList hay que asociarle este modelo 232 00:09:39,120 --> 00:09:41,419 vale, pues tú lo has asociado 233 00:09:41,419 --> 00:09:44,919 en el momento de instanciarlo 234 00:09:44,919 --> 00:09:49,610 ¿dónde está el JList? aquí 235 00:09:49,610 --> 00:09:53,230 en el momento de instanciarlo con el constructor lo has asociado 236 00:09:53,230 --> 00:09:55,470 o bueno, también se puede asociar después 237 00:09:55,470 --> 00:09:58,129 porque este constructor se le puede instanciar así 238 00:09:58,129 --> 00:10:01,830 y ahora tú puedes decirle, oye lista pedidos 239 00:10:01,830 --> 00:10:03,730 punto set model 240 00:10:03,730 --> 00:10:07,009 no, maximum size no, set model 241 00:10:07,009 --> 00:10:09,889 fíjate como modelo 242 00:10:09,889 --> 00:10:12,090 el modelo ese 243 00:10:12,090 --> 00:10:12,990 que no sé cuál era 244 00:10:12,990 --> 00:10:15,490 modelo lista pedido se llamaba 245 00:10:15,490 --> 00:10:21,509 vale, da igual, es lo mismo 246 00:10:21,509 --> 00:10:23,210 me da igual pasárselo ya en el 247 00:10:23,210 --> 00:10:25,210 constructor o 248 00:10:25,210 --> 00:10:27,090 setearlo luego, vale 249 00:10:27,090 --> 00:10:29,289 da lo mismo, ahora ya como 250 00:10:29,289 --> 00:10:31,090 ya el modelo está asociado al list 251 00:10:31,090 --> 00:10:33,289 cada elemento que tengamos que 252 00:10:33,289 --> 00:10:35,309 añadir o remover o eliminar del list 253 00:10:35,309 --> 00:10:36,789 pues se lo hacemos 254 00:10:36,789 --> 00:10:39,129 al modelo que es lo que has hecho aquí 255 00:10:39,129 --> 00:10:41,149 en el evento este 256 00:10:41,149 --> 00:10:42,029 de añadir pedido 257 00:10:42,029 --> 00:10:43,629 añadir pedido 258 00:10:43,629 --> 00:10:44,169 eso lo has añadido 259 00:10:44,169 --> 00:10:44,710 y luego ya 260 00:10:44,710 --> 00:10:45,789 has habilitado el otro 261 00:10:45,789 --> 00:10:46,549 para que se puedan 262 00:10:46,549 --> 00:10:47,529 ya añadir productos 263 00:10:47,529 --> 00:10:48,210 porque ya hay algún 264 00:10:48,210 --> 00:10:49,029 producto añadido 265 00:10:49,029 --> 00:10:49,450 etcétera 266 00:10:49,450 --> 00:10:49,809 entonces 267 00:10:49,809 --> 00:10:50,570 ahora mismo 268 00:10:50,570 --> 00:10:51,230 una aplicación 269 00:10:51,230 --> 00:10:52,389 parte ya lo tiene hecho 270 00:10:52,389 --> 00:10:53,350 que es vamos a añadir 271 00:10:53,350 --> 00:10:55,190 un pedido de bolis 272 00:10:55,190 --> 00:10:56,409 ala 273 00:10:56,409 --> 00:10:57,330 ya está aquí el pedido 274 00:10:57,330 --> 00:10:58,269 con bolis cero 275 00:10:58,269 --> 00:10:58,850 más bonito así 276 00:10:58,850 --> 00:10:59,509 que con tu stream 277 00:10:59,509 --> 00:11:01,549 y ahora ya 278 00:11:01,549 --> 00:11:03,450 vamos a añadir 279 00:11:03,450 --> 00:11:04,149 otro pedido 280 00:11:04,149 --> 00:11:05,289 de rotus 281 00:11:05,289 --> 00:11:06,149 siempre pido lo mismo 282 00:11:06,149 --> 00:11:08,970 pedido rotus 283 00:11:08,970 --> 00:11:10,909 vale, código 0 284 00:11:10,909 --> 00:11:13,190 algo funciona mal en tu aplicación porque no se está actualizando 285 00:11:13,190 --> 00:11:13,610 el código 286 00:11:13,610 --> 00:11:16,409 pero esa parte ya la hicimos 287 00:11:16,409 --> 00:11:17,909 se supone que se tenía que ir incrementando 288 00:11:17,909 --> 00:11:21,370 vamos a ver, el código tendría que ser 289 00:11:21,370 --> 00:11:23,009 en datos 290 00:11:23,009 --> 00:11:24,830 era una variable estática 291 00:11:24,830 --> 00:11:26,289 secuencia que empezaba en 1 292 00:11:26,289 --> 00:11:28,490 y la incrementábamos 293 00:11:28,490 --> 00:11:30,490 al crear el pedido 294 00:11:30,490 --> 00:11:33,009 secuencia 295 00:11:33,009 --> 00:11:35,309 code, se queda incrementada 296 00:11:35,309 --> 00:11:37,590 pedidos 297 00:11:37,590 --> 00:11:39,090 put, secuencia, code 298 00:11:39,090 --> 00:11:47,960 ¿y por qué se crea con cero todo el rato? 299 00:11:48,360 --> 00:11:50,860 ¿está usando la 300 00:11:50,860 --> 00:11:51,740 secuencia code? 301 00:11:52,740 --> 00:11:56,299 ¿cómo la funciona? 302 00:11:56,299 --> 00:11:58,700 la función de insertar pedido 303 00:11:58,700 --> 00:11:59,360 ¿la está usando? 304 00:12:00,639 --> 00:12:02,000 efectivamente, tenéis toda razón 305 00:12:02,000 --> 00:12:03,980 y la pista la daba que vale, claro, sí, sí, sí 306 00:12:03,980 --> 00:12:05,879 lo está creando a mano, lógicamente 307 00:12:05,879 --> 00:12:07,840 claro, entonces no 308 00:12:07,840 --> 00:12:10,320 claro, entonces todo esto 309 00:12:10,320 --> 00:12:11,279 claro 310 00:12:11,279 --> 00:12:14,299 efectivamente 311 00:12:14,299 --> 00:12:15,559 es que lo estás creando a mano. 312 00:12:15,980 --> 00:12:16,879 Todo esto te sobra. 313 00:12:17,139 --> 00:12:19,379 No, el P no sobraba porque tienes que pasar un pedido. 314 00:12:19,799 --> 00:12:20,500 Sí, a ver. 315 00:12:22,379 --> 00:12:22,740 Pedido. 316 00:12:22,820 --> 00:12:24,659 Tenemos el pedido y ahora esto es lo que sobra. 317 00:12:25,159 --> 00:12:27,960 Esto es lo que sobra y ahora ya datos, punto, 318 00:12:28,100 --> 00:12:29,100 insertar pedido. 319 00:12:29,220 --> 00:12:30,700 Muy bien, sois muy listos. 320 00:12:31,480 --> 00:12:35,220 Datos, punto, ¿dónde tienes el método de insertar pedido? 321 00:12:35,259 --> 00:12:36,740 ¿Lo tienes como privado o qué pasa? 322 00:12:37,820 --> 00:12:39,000 Y borra el constructor de pedido. 323 00:12:39,399 --> 00:12:39,759 Pedido. 324 00:12:39,759 --> 00:12:44,259 ¿Dónde está datos? 325 00:12:44,299 --> 00:12:47,440 Private, claro 326 00:12:47,440 --> 00:12:49,639 Tienes como privado, muchacha 327 00:12:49,639 --> 00:12:58,720 Es que hay que estar rápido 328 00:12:58,720 --> 00:13:01,080 Porque yo puedo equivocarme 329 00:13:01,080 --> 00:13:02,919 Si equivocáis y yo pongo privado 330 00:13:02,919 --> 00:13:03,740 Pues ponéis público 331 00:13:03,740 --> 00:13:09,960 Muy bien pensado también 332 00:13:09,960 --> 00:13:11,820 Si es que estoy generando aquí 333 00:13:11,820 --> 00:13:13,360 Unas máquinas de conocimiento 334 00:13:13,360 --> 00:13:14,980 y de destrezas y de habilidades 335 00:13:14,980 --> 00:13:16,940 claro, efectivamente 336 00:13:16,940 --> 00:13:18,080 entonces este constructor 337 00:13:18,080 --> 00:13:22,360 no, no cuestiono 338 00:13:22,360 --> 00:13:24,399 vuestros conocimientos, cuestiono 339 00:13:24,399 --> 00:13:26,500 vuestros hábitos de conducta 340 00:13:26,500 --> 00:13:27,759 que es distinto 341 00:13:27,759 --> 00:13:30,759 vale, entonces ahora ya si aquí 342 00:13:30,759 --> 00:13:34,120 no, a ver 343 00:13:34,120 --> 00:13:35,720 el pedido tenemos que instanciarlo 344 00:13:35,720 --> 00:13:37,460 claro, el pedido hay que instanciarlo 345 00:13:37,460 --> 00:13:41,700 podríamos cambiar datos 346 00:13:41,700 --> 00:13:44,539 claro 347 00:13:44,539 --> 00:13:46,379 Claro, pero entonces tenemos que pasarle los datos. 348 00:13:47,279 --> 00:13:48,580 Claro, pero tendríamos que cambiar 349 00:13:48,580 --> 00:13:50,360 demasiado. Si le pasamos los datos, sí, 350 00:13:50,460 --> 00:13:51,840 y él ya lo instancia. Vale, lo hacíamos. 351 00:13:52,120 --> 00:13:54,519 Pero bueno, como ya lo, para no cambiar 352 00:13:54,519 --> 00:13:56,399 demasiadas cosas, entonces 353 00:13:56,399 --> 00:13:58,440 vamos a 354 00:13:58,440 --> 00:14:00,639 volver a hacer pedido 355 00:14:00,639 --> 00:14:02,340 como público. 356 00:14:04,740 --> 00:14:06,659 Vale, vamos a 357 00:14:06,659 --> 00:14:08,220 hacer pedido como público 358 00:14:08,220 --> 00:14:09,080 y entonces 359 00:14:09,080 --> 00:14:11,360 ahora ya 360 00:14:11,360 --> 00:14:13,580 en app pedido 361 00:14:13,580 --> 00:14:15,480 tenemos una vez que tenemos el pedido 362 00:14:15,480 --> 00:14:17,759 ahora ya veníamos aquí a insertar el pedido 363 00:14:17,759 --> 00:14:19,440 de este que hemos hecho ya 364 00:14:19,440 --> 00:14:21,500 y ya está 365 00:14:21,500 --> 00:14:23,639 vale, ahora ya sí, muy bien visto 366 00:14:23,639 --> 00:14:25,659 es que todo debería hacerse desde el propio insertar pedido 367 00:14:25,659 --> 00:14:27,279 efectivamente 368 00:14:27,279 --> 00:14:28,960 si hay un método insertar pedido 369 00:14:28,960 --> 00:14:31,740 efectivamente es para enmascarar 370 00:14:31,740 --> 00:14:33,019 todo eso al usuario 371 00:14:33,019 --> 00:14:35,500 y proteger el resto del código de instanciaciones 372 00:14:35,500 --> 00:14:37,139 en sitios donde no se deben hacer 373 00:14:37,139 --> 00:14:37,940 pero 374 00:14:37,940 --> 00:14:40,740 no 375 00:14:40,740 --> 00:14:43,059 a ver, lo que pasa es que esto se suele hacer 376 00:14:43,059 --> 00:14:44,639 en un montón de capas para hacer lo mismo 377 00:14:44,639 --> 00:14:47,100 entonces siempre habrá una capa básica 378 00:14:47,100 --> 00:14:48,879 que es la capa de datos 379 00:14:48,879 --> 00:14:50,840 que se llama, en la que tú tengas un método 380 00:14:50,840 --> 00:14:52,960 y le pasas el objeto, luego habrá una 381 00:14:52,960 --> 00:14:54,980 capa intermedia, que es la capa de 382 00:14:54,980 --> 00:14:56,980 transmisión, a la que le pasas 383 00:14:56,980 --> 00:14:58,899 los valores y ella te lo instancia 384 00:14:58,899 --> 00:14:59,440 entonces 385 00:14:59,440 --> 00:15:02,740 pero bueno, olvidados de lo que he dicho 386 00:15:02,740 --> 00:15:04,740 es justo 387 00:15:04,740 --> 00:15:06,919 al final el desacoplamiento 388 00:15:06,919 --> 00:15:08,860 lo que implica es que para hacer algo 389 00:15:08,860 --> 00:15:10,080 que son dos líneas de código 390 00:15:10,080 --> 00:15:11,700 llamas a mil clases 391 00:15:11,700 --> 00:15:14,159 pero a mil literal prácticamente 392 00:15:14,159 --> 00:15:15,620 nunca lo escribo 393 00:15:15,620 --> 00:15:16,580 eso 394 00:15:16,580 --> 00:15:20,240 bueno pues ahora ya sí que nos va a funcionar 395 00:15:20,240 --> 00:15:21,460 instanciando 396 00:15:21,460 --> 00:15:23,740 el este verdad 397 00:15:23,740 --> 00:15:26,559 aquí la verdad es que al usuario le sería más cómodo 398 00:15:26,559 --> 00:15:28,340 si le dejamos el enter porque tener que irse 399 00:15:28,340 --> 00:15:30,200 al ratón al botoncito o al tabulador 400 00:15:30,200 --> 00:15:31,259 a darle al este 401 00:15:31,259 --> 00:15:35,360 o puedes poner que funciona de dos maneras 402 00:15:35,360 --> 00:15:36,100 efectivamente 403 00:15:36,100 --> 00:15:38,519 ahora ya sí 404 00:15:38,519 --> 00:15:40,539 nada, muy bonito, vale 405 00:15:40,539 --> 00:15:42,960 lo que pasa es que esta aplicación ya se quedaba aquí 406 00:15:42,960 --> 00:15:44,840 a la falta del resto de las 407 00:15:44,840 --> 00:15:46,919 funcionalidades, pero 408 00:15:46,919 --> 00:15:48,980 añadir producto, pues añadir producto 409 00:15:48,980 --> 00:15:49,899 está claro que tendrá 410 00:15:49,899 --> 00:15:52,720 añadir producto 411 00:15:52,720 --> 00:15:54,120 tendrá que leer lo que hay aquí 412 00:15:54,120 --> 00:15:56,820 sacar del JLIS 413 00:15:56,820 --> 00:15:59,019 el seleccionado, pero eso es con un método 414 00:15:59,019 --> 00:16:00,480 getSelected, ya está 415 00:16:00,480 --> 00:16:03,080 cuando ya tenemos lo seleccionado 416 00:16:03,080 --> 00:16:05,080 con split, con como sea 417 00:16:05,080 --> 00:16:07,059 extraer el código 418 00:16:07,059 --> 00:16:09,679 pero aquí tenemos una suerte maravillosa 419 00:16:09,679 --> 00:16:11,700 que es como está parametrizado a pedido 420 00:16:11,700 --> 00:16:13,759 lo que sacamos con el get 421 00:16:13,759 --> 00:16:15,399 va a ser el objeto pedido enterito 422 00:16:15,399 --> 00:16:17,299 entonces podemos ir a la propiedad 423 00:16:17,299 --> 00:16:19,820 si no estuviera el JList parametrizado 424 00:16:19,820 --> 00:16:21,399 a pedido y le estuviéramos metiendo el string 425 00:16:21,399 --> 00:16:23,460 como lo mete Ana, te daría el string 426 00:16:23,460 --> 00:16:26,059 entonces tienes que hacer un split y partirlo 427 00:16:26,059 --> 00:16:27,960 pero como está parametrizado a pedido 428 00:16:27,960 --> 00:16:29,659 pues con el get sacamos 429 00:16:29,659 --> 00:16:31,299 el objeto pedido, cogemos el código 430 00:16:31,299 --> 00:16:33,720 y nos vamos al map 431 00:16:33,720 --> 00:16:35,460 sacamos el pedido 432 00:16:35,460 --> 00:16:36,580 con ese código 433 00:16:36,580 --> 00:16:39,259 y a su lista de productos 434 00:16:39,259 --> 00:16:40,759 le añadimos un nuevo producto con esto 435 00:16:40,759 --> 00:16:41,419 y ya está 436 00:16:41,419 --> 00:16:44,879 a ver, lo he metido en el map 437 00:16:44,879 --> 00:16:47,220 insertar pedido y mete en el map 438 00:16:47,220 --> 00:16:48,659 insertar pedido y mete en el map 439 00:16:48,659 --> 00:16:50,159 y luego con esto se pone en el list 440 00:16:50,159 --> 00:16:52,200 de hecho esto es solo para meter en el map 441 00:16:52,200 --> 00:16:53,700 ¿vale? 442 00:16:56,240 --> 00:16:57,679 entonces ahora ya lo único que 443 00:16:57,679 --> 00:16:59,720 falta por hacer de esa aplicación 444 00:16:59,720 --> 00:17:00,740 es eso 445 00:17:00,740 --> 00:17:04,579 lo único es eso 446 00:17:04,579 --> 00:17:05,940 saber coger 447 00:17:05,940 --> 00:17:09,420 saber coger del elemento JList 448 00:17:09,420 --> 00:17:11,039 el elemento seleccionado 449 00:17:11,039 --> 00:17:12,460 pero eso a través de un método, ya está 450 00:17:12,460 --> 00:17:14,740 y una vez que está cogido 451 00:17:14,740 --> 00:17:16,579 el elemento seleccionado 452 00:17:16,579 --> 00:17:21,000 a ver 453 00:17:21,000 --> 00:17:21,740 pues 454 00:17:21,740 --> 00:17:25,039 yo di clase en Buenos Aires 455 00:17:25,039 --> 00:17:26,920 seis meses y 456 00:17:26,920 --> 00:17:28,940 dije coger todo el rato porque no 457 00:17:28,940 --> 00:17:30,859 voy a cambiar los hábitos ahora y tampoco 458 00:17:30,859 --> 00:17:31,480 pasó nada 459 00:17:31,480 --> 00:17:39,380 Bueno, pues hay que saber 460 00:17:39,380 --> 00:17:41,099 coger bien las cosas 461 00:17:41,099 --> 00:17:43,519 y sacar del list 462 00:17:43,519 --> 00:17:45,160 el objeto pedido 463 00:17:45,160 --> 00:17:47,480 o el string, depende de cómo lo tengas hecho 464 00:17:47,480 --> 00:17:49,759 y luego la parte que viene ahí 465 00:17:49,759 --> 00:17:51,579 es programar lo que supone que sabéis hacer 466 00:17:51,579 --> 00:17:52,980 y lo que realmente os vamos a evaluar 467 00:17:52,980 --> 00:17:55,680 que es hacer un get en el map 468 00:17:55,680 --> 00:17:56,579 con el código 469 00:17:56,579 --> 00:17:59,839 y ahora ya ese get del map con el código 470 00:17:59,839 --> 00:18:00,539 me da el pedido 471 00:18:00,539 --> 00:18:03,160 pues de ese pedido le saco su lista 472 00:18:03,160 --> 00:18:04,420 de productos con su get 473 00:18:04,420 --> 00:18:06,559 y le añado un producto nuevo 474 00:18:06,559 --> 00:18:09,000 y ya está, y ese evento pues ya está 475 00:18:09,000 --> 00:18:09,819 el de añadir producto 476 00:18:09,819 --> 00:18:13,160 el evento de consultar, pues lo mismo 477 00:18:13,160 --> 00:18:15,039 sacamos del list el pedido 478 00:18:15,039 --> 00:18:15,839 seleccionado 479 00:18:15,839 --> 00:18:19,259 y nos vamos al map, lo recuperamos 480 00:18:19,259 --> 00:18:20,880 y construimos un string 481 00:18:20,880 --> 00:18:23,019 con las propiedades, construimos un string 482 00:18:23,019 --> 00:18:24,740 y ese string se pega al textarea 483 00:18:24,740 --> 00:18:26,359 ahí pegado, ya está, nada más 484 00:18:26,359 --> 00:18:28,880 el evento de actualizar 485 00:18:28,880 --> 00:18:30,819 Pues igual cogemos del JList 486 00:18:30,819 --> 00:18:32,339 El pedido seleccionado 487 00:18:32,339 --> 00:18:35,259 Y le hacemos un set con esta descripción 488 00:18:35,259 --> 00:18:35,900 Listo 489 00:18:35,900 --> 00:18:38,900 Y el evento de eliminar 490 00:18:38,900 --> 00:18:41,339 Pues ya está, cogemos de aquí el pedido seleccionado 491 00:18:41,339 --> 00:18:43,299 Y hacemos un remove en el map 492 00:18:43,299 --> 00:18:45,339 Y en el list 493 00:18:45,339 --> 00:18:47,180 ¿El método split que has mencionado? 494 00:18:47,400 --> 00:18:48,700 ¿Le metes la coma? 495 00:18:49,200 --> 00:18:50,240 Sí, le metes 496 00:18:50,240 --> 00:18:52,480 Cualquier carácter, el separador 497 00:18:52,480 --> 00:18:54,339 Y te da un array de string 498 00:18:54,339 --> 00:18:57,000 Con todos los sub-string que hay 499 00:18:57,000 --> 00:18:58,380 Separados a través de separados 500 00:18:58,380 --> 00:18:59,299 sin incluir el separador 501 00:18:59,299 --> 00:19:02,619 pues entonces ya se queda poco por hacer 502 00:19:02,619 --> 00:19:03,839 se queda hacer get y set 503 00:19:03,839 --> 00:19:06,059 y put en un map y poco más 504 00:19:06,059 --> 00:19:07,859 vale 505 00:19:07,859 --> 00:19:09,400 bueno 506 00:19:09,400 --> 00:19:12,640 ¿alguien necesita que subamos esta versión para arrancarla? 507 00:19:12,940 --> 00:19:14,500 vamos a subirla, si no te molesta 508 00:19:14,500 --> 00:19:15,200 ¿no te molesta? 509 00:19:22,329 --> 00:19:23,970 cada uno que la use 510 00:19:23,970 --> 00:19:25,609 tiene que hacer un bizul 511 00:19:25,609 --> 00:19:28,170 de 50 centímetros 512 00:19:32,910 --> 00:19:34,769 ¿Por cada apellido que añadamos o por acá? 513 00:19:35,970 --> 00:19:37,890 Cada vez que pruebas la aplicación, 50. 514 00:19:39,190 --> 00:19:41,490 Pues nada, ya puede dejar el ciclo directamente. 515 00:19:42,109 --> 00:19:43,549 Vale, pues vamos a parar.