✅✅ ✅ ✅ ✅ Todos mis cursos gratuitos 👉 www.pildorasinformaticas.es ✅✅ ✅ ✅ ✅ 🚀 ¿Quieres ejercicios? ¿Quieres más temario? 👉 www.pildorasinformaticas.es/course/java-tutorizado/🚀 🚀 ¿Quieres que te resuelva las dudas de Java? 👉 www.pildorasinformaticas.es/course/java-tutorizado/ 🚀 💥💥💥 Siempre seguiré subiendo cursos gratuitos por aquí. Gracias a todos por seguirme. 💥💥💥
@HELMET101008 жыл бұрын
He pagado cursos de java en un instituto..y nunca aprendi nada...en menos de 30 minutos de un video aprendi muchas cosas..eres lo mejor que he visto explicado un tema muy concreto..
@pildorasinformaticas8 жыл бұрын
Muchas gracias por el comentario. Me alegro de que te gusten los vídeos. Un cordial saludo!!
@Persiano_6 жыл бұрын
Okey maestro Juan Gómez... Lo que falta ahora es un curso de Spring Framework, de Hibernate, de Maven en Java, sería bueno que tú Juan nos enseñes cómo usar esos frameworks, saludos desde Lima, Perú
@alex3512078 жыл бұрын
No te puedes hacer una idea de lo agradecido que estoy de tus tutoriales y explicaciones y lo que me han ayudado en mis estudios, muchas gracias por tu trabajo.
@pildorasinformaticas8 жыл бұрын
Me alegro!! Gracias por seguir mis vídeos. Un saludo
@iNandool4 жыл бұрын
Creo que escribo por muchos, y enserio agradezco mucho tu forma de explicar, creí que era un tema mas complicado pero con tu explicación me quedo super claro, eres grande Amigo!
@rozoneri9 жыл бұрын
Profesor no sabe cuanto le agradezco estos vídeos he aprendido mucho con usted, en forma de pago también estoy difundiendo su excelente canal,se lo merece.
@pildorasinformaticas9 жыл бұрын
+Easylisimo Gracias por tu comentario. Me alegro de que te guste. Un saludo
@oscar100519879 жыл бұрын
Gracias por tu excelente curso de JAVA, contigo e aprendido muchísimo mas de lo que e aprendido en la universidad. Es increíble ver que durante el primer año de carrera no te enseñan ni a programar una simple ventana. E mejorado mucho gracias a ti.
@pildorasinformaticas9 жыл бұрын
+Oscar Antonio Rubí Ramírez Gracias !! me alegro de que el curso haya sido de utilidad. Un saludo
@elnorte29 жыл бұрын
Este vídeo, como otros que he visto de tu canal, B-U-E-N-I-S-I-M-O. Personalmente he de informarte de que para mi los hilos formaban parte de esa parte de la programación digamos con caracter cercano a lo paranormal, que ni lo podia concebir, vamos. Pero gracias a este vídeo, he puesto un pie en el mundo de los hilos, por fin. Nunca te lo agradeceré lo suficiente.
@fernandoreyes92059 жыл бұрын
Solo puedo decir wow, es un curso excelente, me da tristeza no haber entrado antes a sus vídeos, mis felicitaciones!
@jugarprogramando80916 жыл бұрын
¡¡¡¡¡....168 videos...!!!!! Gracias por tomarte el tiempo y la paciencia al compartir tus conocimientos.
@michelbenites18545 жыл бұрын
Increíble todo el tiempo y la dedicación en cada uno de los mas de 270 vídeos. Estoy muy agradecido de todo el conocimiento compartido. Tu trabajo me inspira a seguir aprendiendo y a mejorar cada día, un cordial saludo desde Santiago de Chile.
@antoniocarrasco31143 жыл бұрын
Me has salvado la vida, tengo este viernes un examen de hilos y lo estoy entendiendo todo muy bien Gracias Juan.
@guillermoviscoponticelli5 жыл бұрын
Que buen ejemplo. Los años que he querido saber esto. Increíble Juan, 100% agradecido.
@pildorasinformaticas5 жыл бұрын
Gracias por el comentario. Me alegro de que te guste. Un saludo!
@flan_025 жыл бұрын
finalice la primer parte del curso en 4 meses, excelente trabajo sr. Juan !
@okmancera3 жыл бұрын
Muchisimas gracias por compartir tanto conocimiento, llevo como 100 videos y todos excelentes. Muchas gracias.
@papaprimerizoes35482 жыл бұрын
Muchas gracias por compartir tus conocimientos Juan. Me han ayudado mucho tanto en las clases como en el trabajo. Un abrazo
@penguinwolf01257 жыл бұрын
Me he tenido que reír en el minuto 15, qué grande eres Juan... tienes un don para enseñar que lo sepas.
@Mrleopola9 жыл бұрын
Uhh! Qué buen tema! Ya llegamos a ésta parte que es clave! Cómo me esta abriendo la cabeza Java! La explicación no puede ser mejor ni mas gráfica! una joya! Muchas gracias de nuevo!!!! Abrazo, Leopoldo.
@pildorasinformaticas9 жыл бұрын
Leopoldo Miracco Gracias !! Saludos como siempre amigo
@rominaisaia12439 жыл бұрын
pildorasinformaticas muy buen curso a mi me está ayudando un montón con un proyecto que debo entregar la verdad que es uno de los pocos cursos que encontre que explica tan bien...quería preguntarle profesor si puedo hacer unas consultas via email o por mensajeria...pues debo terminar un video juego el tiempo me apremia el video de hilos me ayudo un monton..pero estoy un poco atascada...bueno espero su respuesta saludos...Romina
@pildorasinformaticas9 жыл бұрын
Puedes hacer las consultas que quieras por este mismo medio o por mail a la dirección cursos@pildorasinformaticas.es Las dudas que me llegan por mail tardo en contestar. Recibo cientos de mails al día. Un saludo
@rominaisaia12439 жыл бұрын
pildorasinformaticas Gracias por contestar..tengo que hacer un video juego...ya tengo la parte inicial en donde uno selecciona a que video juego quiere entrar, eso barbarbo, se apaga y se prendre el sonido...ahora en donde no puedo seguir es en la pantalla del juego es decir el fondo que se mueva, simular un corrimiento de camara....(no se si me explico) y el personaje con el teclado...esto último lo estoy intentando con lo que publicaste último...si me podes dar una orientación desde ya más que agradecida....saludos (reitero muy buen curso)
@billyretamal89329 жыл бұрын
Bravo!! Ando en búsqueda de como crear un hilo de tipo demonio pero este video me sirvió para entender la base de su funcionamiento. En verdad se agradece, video muy bien explicado, lastima no haberlo encontrado antes! Saludos!
@pildorasinformaticas9 жыл бұрын
+Billy Retamal Muchas gracias. Me alegro de que sea de utilidad. Un saludo
@walterjosesuarezdelacruz14955 жыл бұрын
Ya había visto estos vídeos, pero ahora quiero hacer mover figuras geométricas,y nada mejor q tener teoría clara y precisa para este tema.
@marioherrera20555 жыл бұрын
Buen video, tenía unos años de no ver Java dado que me enfoqué en lenguajes web y cms pero con ver este video, logré recordar aspectos de JPanel, JFrame que se hacen a pata y no usando la paleta del Eclipse o NetBeans y poco a poco fui recordando el tema de los hilos, se que me falta recordar pero viendo los otros videos del canal iré recordando dichos aspectos, saludos
@pildorasinformaticas5 жыл бұрын
Un saludo Mario
@jesusmunoz110 ай бұрын
Excelente curso maestro, muchisimas gracias por todo, me ha ayudado muchisimo. Saludos desde Venezuela.
@ignacioantoniojeriagarrido68778 жыл бұрын
gracias profesor. Me partí un poco el coco en este video hasta que lo comprendí. Comento para que sepa que no lo he abandonado xD y que estaré eternamente agradecido con usted. Saludos!
@samuelcd809 жыл бұрын
Solo quería felicitarte por el curso y darte las gracias por compartir tus conocimientos.
@pildorasinformaticas9 жыл бұрын
+Samuel Castro Gracias !! Un saludo
@alejo31574 жыл бұрын
Excelente clase, por favor siga subiendo mas conocimientos. gracias.
@sergiomateo20467 жыл бұрын
Muchas Gracias, me ha servido de mucho la explicación acerca de los Hilos y mas en una forma dinámica, Muchas Gracias
@OscarDiaz-fr3ss5 жыл бұрын
El parpadeo mejora enormemente sincronizando los gráficos al final de paint(): public void paintComponent(Graphics g){ super.paintComponent(g); Graphics2D g2=(Graphics2D)g; for(Pelota b: pelotas){ g2.fill(b.getShape()); } // Asegura que el objeto gráfico se actualiza Toolkit.getDefaultToolkit().sync(); }
@pildorasinformaticas5 жыл бұрын
Gracias por el aporte. Un saludo!
@harrisonmartinez45317 жыл бұрын
Buen inicio de la segunda parte profesor, gracias!! le sigo desde el primer vídeo he aprendido mucho!!
@arturoguerrero89589 жыл бұрын
Que tal mi estimado Juan¡ Antes que nada permiteme enviarte mis felicitaciones por este curso. Es excelente y lo sigo puntualmente¡ Mi preocupación es si vas a continuar con los videos ya que me gustaría mucho continuar hasta la totalidad del curso. Saludos desde México.! un abrazo.
@pildorasinformaticas9 жыл бұрын
Arturo Guerrero Hola !! Por supuesto que voy a continuar. De hecho el último vídeo subido es de hace 4 días y si te fijas en las fechas de los vídeos verás que subo un mínimo de dos a la semana y en muchas ocasiones más. Un saludo
@albertorivera84285 жыл бұрын
Eh esperado con ansias llegar hasta aqui
@cristhianjonathangomezramo53018 жыл бұрын
muchas gracias por su video, es el primero que veo y esta muy bueno, me veré todos gracias!
@nicotoobebello63865 жыл бұрын
Las pelotas a mi se me veían entrecortadas cuando le daba al botón "Dale!". No se si es porque soy usuario de Linux pero di con una solución buscando en internet. Lo que hay que hacer es ir al método paintComponent(Graphics g) y colocar dentro el método revalidate() para que la ventana siempre se revalide (es como si estuviéramos moviendo el mouse sobre la ventana). El resultado de esto es que se ve la pelota con un movimiento más fluido y sin que se vea entrecortado. Gracias por este maravilloso curso! sigue así :D
@pildorasinformaticas5 жыл бұрын
Gracias por tus comentario y aportes. Un saludo!
@baraobrincadeira5 жыл бұрын
Sos el Mejor!. Te felicito por tus cursos!.
@edwardmuri58955 жыл бұрын
brutal vídeo colega, la verdad apesar de que llevo ya un buen tiempo en el mundo de la programacion, era un poco escéptico al tema de los hilos y no me quedaba totalmente clara su motivo, pero con este video me ha quedado clarisimo. Sin duda alguna me sucribo y like sin dudarlo, sigue asi
@TheMigatitomiau6 жыл бұрын
El curso es excelente, felicidades, sigue adelante...
@argentina13874 жыл бұрын
Gracias, muchas gracias profesor!!
@andresrivera5256 жыл бұрын
Muchas gracias, que buen profesor , me ha servido de mucho
@estbm16 жыл бұрын
Siempre con información clara y directa, muchas gracias :D excelente profesor como siempre. Saludos
@yelsinpulidohermitano36069 жыл бұрын
un gran talento para enseñar thanks :3
@pildorasinformaticas9 жыл бұрын
+yelsin pulido hermitaño Gracias !! Un saludo
@g_r_x_v3 жыл бұрын
Muchas gracias Juan!
@salvadorcano5533 жыл бұрын
El curso es muy bueno, eres sin duda el que mejor he visto que lo explique; pero habría que hacer varios apuntes: 1- No has explicado que al implementar cada hilo se mueven las pelotas, pero la aplicación se cierra en el momento porque el que actúa es el hilo principal, que sigue en ejecución esperando eventos. 2- Existe la posibilidad de crear una clase que en lugar de Runnable extienda de Thread y así nos evitamos algunos pasos intermedios. 3- Habría que aclarar y repetir, que el hilo se crea al crear la instancia, con el método start() se inicia, y ejecuta el método run(), que es el que lo dota de funcionalidad. Son aspectos que se pueden confundir. Son apuntes que a nivel conceptual, entiendo que son importantes. Gracias por tu trabajo titánico durante el desarrollo de este curso tan extenso y tan bueno.
@papaprimerizoes35482 жыл бұрын
Muy buenos apuntes Salvador. Muchas gracias
@memejamas38182 жыл бұрын
gracias profe esta clase se puso buena
@SoySaavedra8 ай бұрын
Clarísimo Juan, gracias!
@DcAGame7 жыл бұрын
Gracias a ti aprobé el examen de Programación. Muchas gracias por el video ^^ PD: Las coordenadas X e Y las he puesto Ramdom para que me salgan en sitios difetentes así queda más chulo jejeje Salu2
@ajsa522 жыл бұрын
El problema de la excepcion ConcurrentModificationException que sale cuando pulsas en "Dale" varias veces, es porque se llama al metodo add de la clase LaminaPelota mientras el bucle for del metodo paintComponent está a medias. Una forma de evitarlo es sustitur la lista ArrayList por una lista CopyOnWriteArrayList que es válida para concurrencia. Aunque en este caso concreto quizá es más eficiente sustituir el bucle for-each por un bucle for tradicional. Asi nos evitamos el uso del iterador interno del for-each que es el que provoca la excepción. Esto se puede hacer porque no tenemos borrados de elementos de forma concurrente, solo inserciones (add), y no nos importa que un paint que esta a medias no mueste el ultimo elemento que se acaba de añadir en un add de forma concurrente, ya lo mostrara en el siguiente paint 4 milisegundos más tarde.
@coronadev38044 жыл бұрын
Súper Ejemplo! Muchas gracias =)
@pablofonseca4465 жыл бұрын
Excelentes vídeos profesor, sin duda me han servido muchísimo. He topado con la suerte de tener buenos profesores en la universidad, pero usted, es igual a ellos, incluso podría decirle que es mejor, definitivamente estoy muy agradecido con su contenido, muchas gracias por dedicar su tiempo. Estoy intentando desarrollar un Snake, un profesor de la universidad me indicó que después de Programación I tengo que estudiar dos temas esenciales de POO, por dicha ya había visto una buena parte de sus vídeos, ahora estoy estudiando la clase ArrayList y también este tema, Threads. Tengo una duda con el código fuente y es que no estoy muy ubicado porque no observé el vídeo explicativo de las animaciones en general, si usted sabe cuál es el vídeo o los vídeos le agradecería montones si lo menciona, igualmente, si el público en general sabe en cuál sección del PlayList se encuentra, estaría muy agradecido por su apoyo, muchas gracias nuevamente.
@teldatamcy56569 ай бұрын
Excelente!!!, Gracias. Chévere cambur 🍌!!!!
@luisrivera-lf5gr5 жыл бұрын
Gracias por compartir tus conocimientos :)
@MGGF959 жыл бұрын
Amigo excelente vídeo en serio, todos los vídeos que tenés son increibles. Sabés que seria genial, que tus vídeos se pudieran descargar, es decir, que subieras un enlace para poder tenerlos en el ordenador. Lo dificil es que son muchos vídeos y ocuparía mucho. Pero regresando a la intro, excelentes vídeos, seguí así.
@pildorasinformaticas9 жыл бұрын
+Mario Grajeda Hola !! Gracias por el comentario. Me alegro de que te gusten. Un saludo
@ssmatiuri9 жыл бұрын
Aunque estaba esperando los videos de concurrencia, me hubieran gustado más de genéricos, porque el tema me da algunos problemas todavía. Aun así, excelente video.
@yacoobsc.m32698 жыл бұрын
Estaba intentando hacer lo mismo que tu, pero me ha salido otra cosa diferente pero muy curiosa y graciosa al mismo tiempo espero que les guste y aprendan un poco mas de java con el ejemplo..... import javax.swing.*; import java.awt.*; import java.awt.event.*; public class PracticandoConJava extends JFrame{ public static void main(String[] args) { new PracticandoConJava(); } public PracticandoConJava(){ setTitle("Practicas GRaficas"); setDefaultCloseOperation(3); setBounds(10, 10, MarG1, MarG2); setVisible(true); LaminaNorte lanorte= new LaminaNorte(); add(lanorte,BorderLayout.NORTH); lanorte.add(BotonStop); lanorte.add(BotonLimpiar); lanorte.add(jbola); lanorte.add(jlinea); lanorte.add(jtexto); BotonStop.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { thread.stop();parar=false;}}); BotonLimpiar.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { repaint(); }}); jlinea.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { bola=false;string=false; }}); jbola.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { bola=true;string=false; }}); jtexto.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { string=true;bola=true; }}); add(new LamainaSur(),BorderLayout.SOUTH); add(new RodarEvento(), BorderLayout.CENTER); } class RodarEvento extends JComponent{ public RodarEvento(){ this.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e){ //Se ejecuta cuando pulsas el mouse sobre la lamina System.out.println("EventoCargado"); parar=true; colores++; ancho= e.getX(); largo=e.getY(); Runnable arrancar= new eventosHilos(); //Instanciamos nuestra clase para poder ejecutarla varias veces... thread = new Thread(arrancar); // Instanciamos la clsase Thread y creamos una variable que alojara un objeto de tipo Runnable thread.start(); // Finalizamos poniendo a nuestra variable thread un metodo de inicio llamado start(). }}); this.addMouseMotionListener(new MouseMotionAdapter() { public void mouseDragged(MouseEvent e) { //Se ejecuta cuando arrastras el mouse haciendo un efecto a la linea de pintado ancho= e.getX(); largo=e.getY(); paint(getGraphics()); }}); } public void paint(Graphics g){ Graphics2D drawD2 = (Graphics2D)g; if (colores==1){ drawD2.setColor(Color.BLUE); }if (colores==2){ drawD2.setColor(Color.RED); }if (colores==3){ drawD2.setColor(Color.ORANGE); }if (colores==4){ drawD2.setColor(Color.BLACK); }if (colores==5){ drawD2.setColor(Color.GREEN); }if (colores==6)colores=0; drawD2.setStroke(new BasicStroke(5)); if (string){ drawD2.drawString("PildorasInformaticas", ancho, largo); }else drawD2.drawOval(ancho, largo, 2, 2); } class eventosHilos implements Runnable{ @Override public void run() { if (largo>1 || ancho>1){ while (parar){ if (largo==0){ entra1=true;entra3=false;} if (ancho==0){ entra2=true;entra4=false; } if (largo==MarG2-100){ entra3=true;entra1=false; } if (ancho==MarG1-20){ entra4=true;entra2=false; } if (entra1){ largo++; } if (entra2){ ancho++; } if (entra3){ largo--; } if (entra4){ ancho--; } if (bola){repaint();} paint(getGraphics()); try { Thread.sleep(velocidad); } catch (InterruptedException error) { error.printStackTrace(); } System.out.println(largo+" "+ ancho); } } } } } class LamainaSur extends JPanel{ public LamainaSur(){ texto1.setForeground(Color.BLUE); add(texto1); setBackground(Color.ORANGE); } } class LaminaNorte extends JPanel{ public LaminaNorte(){ add(texto); setBackground(Color.GREEN); } } JButton BotonStop=new JButton("!Parar!"); JButton BotonLimpiar=new JButton("Limpiar"); JButton jbola=new JButton("Bola"); JButton jlinea= new JButton("Linea"); JButton jtexto=new JButton("Texto"); Thread thread; int velocidad=10; int bucle=20000; int colores=0; int MarG1=521; int MarG2=552; boolean parar=true; boolean entra1=true; boolean entra2=true; boolean entra3,entra4; boolean bola; boolean string=false; int ancho=-10; int largo=-10; JLabel texto= new JLabel("Botones..."); JLabel texto1= new JLabel("Pulsa en la lamina central, cuantas mas veces pulsas mas rapido se mueve"); }
@pildorasinformaticas8 жыл бұрын
+Rey Relampago Cortina Luego lo pruebo. Seguro que me río un rato ;)
@TACHISOEN7 жыл бұрын
Esta muy padre!!! Me he quedado sorprendido.
@yacoobsc.m32697 жыл бұрын
Me alegro 😉😆
@victorhugogamboapabon54537 жыл бұрын
Esta Genial !!!
@benatn6 жыл бұрын
wooooW! te quedo re bueno!! esta genial, muy creativo
@marioprado8789 Жыл бұрын
No entendí por qué si implementaste lo de hilos en el botón dale, pudiste salir sin problemas usando el otro botón al final. De ahí en fuera fue un gran video, gracias.
@randallbiermann25255 жыл бұрын
metodo muy bueno para establecer láminas principales en un JFrame es el instanciaJFrame.setContentPane(lamina);
@cristiannunez23436 жыл бұрын
JAJAJA como me sacaste una risa cuando dijiste nos podemos morir al esperar que termine JAJAJA
@cristiangs23074 жыл бұрын
Juan, aqui es donde me parece que tu paciencia se estaba agotando....jaja...review review review.....Saludos! Excelente tu trabajo pero aca dimos un salto gigante....ABZ
@stevenrodriguezgarro17997 жыл бұрын
Muy bueno el vídeo, no tienes algún tutorial de programación en Android, explicas muy bien
@pildorasinformaticas7 жыл бұрын
Gracias por el comentario. Mira este enlace: kzbin.info/aero/PLU8oAlHdN5Bkn-KS1sRFlSEnXXcAtAJ9P Un saludo!!
@gonzaloalonsorodriguez49295 ай бұрын
Un vídeo increible
@xepcperez30613 жыл бұрын
Hermano mio, te mereces un monton de gracias por la metodologia de enseñanza y tus conocimientos, te enviaré una implementación de la interface "TableModel" (CRUD para cualquier tabla de postgreSQL) que hice hace varios años, para que la analices y expliques a todos con detenimiento. me puedes dar una via para enviartela o donde publicarla en tu sitio????
@realsamu8 жыл бұрын
muchas gracias amigo , un saludo
@sueocho84893 жыл бұрын
Hola que taaaal , la mejor intro
@manolopajaro_videos58943 жыл бұрын
excelente video bien explicado
@felipgp76779 жыл бұрын
Excelente profe!
@pildorasinformaticas9 жыл бұрын
+Phil lip Gracias !! Un saludo
@juanmigarcia3939 жыл бұрын
Eres el mejor
@evangelinagil95224 жыл бұрын
Muy Buenos tus viedos! Pero nocesito correr varios algoritmo para mostrar cual es el mas eficiente. ya sea exponencial, loritmo, cuadratico, etc. Como genero diferentes ventanas y que se ejejuten a la vez dado un velor de entrada.
@evangelinagil95224 жыл бұрын
mostrarlo en diferentes paneles pero en la misma ventana
@hebersolisbravo45029 жыл бұрын
Chevere, muy claro, :)
@eltallerdedante6335 Жыл бұрын
Voy a dejar esto por aquí por si a alguien más le pasa. Resulta que yo no veía nunca la pelota demasiado rápida, solo podía ir más lenta pero no tan rápida como para no poder seguirla con los ojos. Se debía a que uso un limitador de fotogramas en el panel de control de Nvidia a 60fps en la "Configuración global", para videojuegos básicamente. Al desactivarlo y sin hacer uso de sleep(), vuelve a ir tan rápido como puede.
@vNymeria5 жыл бұрын
Lo que daría para que fueras mi profesor.
@sfhj84358 жыл бұрын
Hola. gracias por su video; se aprende muchisimo con usted, pero tengo una pregunta y es por que le paso pelota y lamina como parametros al constructor de la clase que implementa la interfaz Runnable? le agradezco una respuesta.
@pildorasinformaticas8 жыл бұрын
+Johan Fonseca Sanchez Dime por favor minuto y segundo del vídeo donde aparece en el código lo que mencionas, y te responderé a la pregunta. Un saludo!!
@designanimation5 жыл бұрын
Hola profesor y companeros! Ante todo quisiera agradecerle por todo. Tengo una pregunta fundamental, acerca del curso de JAVA (primer curso que hice bajo pildorasinformaticas y soy totalmente novato). Estoy por el Vídeo 169, en donde es allí donde necesito saber donde estoy parado, (ya que el ejercicio de pelota rebotando me bolo la cabeza), y ahora, quiero empezar a hacer ejercicios, porque después de ver tantos videos, necesito comenzar por hacer otros ejercicios, pero no se de que sitio web (porque hay miles), o que libro me puede recomendar para arrancar con buenas raíces. Muchas gracias como siempre!!
@guillermovazquezdelara76233 жыл бұрын
Hola buenas no se si la pregunta pueda ser contestada... pero me surgio un error al abrir el codigo en eclipse del archivo de descarga relacionado con UTF-8 que en lugar de acentos muestra un signo de interrogación dentro de un rombo y otros simbolos raros en los comentarios que llevan ñ.. hay alguna manera de configurar eclipse para que no pase esto ? Saludos y sigo con tu cursos Juan que son geniales se aprende mucho en este canal
@FranciscoXavierRojasCeli6 жыл бұрын
A los que están muy agradecidos ... ¿sabian que pueden donar? lol... bueno quienes tengan recursos...
@miguelangelvasquezgarcia82354 жыл бұрын
Como se puede haecr donaciones??
@peskao0234 жыл бұрын
Muy comprensible todo, de gran ayuda. El hecho de que el programa pete al ejecutar muchos hilos podría tener que ver con la capacidad o número de hilos que tiene tu procesador? o al correr todo en la JVM no tiene nada que ver?
@ajsa522 жыл бұрын
El problema de la excepcion ConcurrentModificationException que sale cuando pulsas en "Dale" varias veces, es porque se llama al metodo add de la clase LaminaPelota mientras el bucle for del metodo paintComponent está a medias. Una forma de evitarlo es sustitur la lista ArrayList por una lista CopyOnWriteArrayList que es válida para concurrencia. Aunque en este caso concreto quizá es más eficiente sustituir el bucle for-each por un bucle for tradicional. Asi nos evitamos el uso del iterador interno del for-each que es el que provoca la excepción. Esto se puede hacer porque no tenemos borrados de elementos de forma concurrente, solo inserciones (add), y no nos importa que un paint que esta a medias no mueste el ultimo elemento que se acaba de añadir en un add de forma concurrente, ya lo mostrara en el siguiente paint 4 milisegundos más tarde.
@Davimejor9 жыл бұрын
Profe buen video,un pregunta cuantos videos quedan para empezar con la bases de datos???
@pildorasinformaticas9 жыл бұрын
black davo Hola !! Calculo que unos 25 o 30. Un saludo
@richardduran71139 жыл бұрын
Excelente
@pildorasinformaticas9 жыл бұрын
Richard Duran Gracias !!
@gok18992 жыл бұрын
se puede manejar los treads dentro de interfaces graficas??
@moisesleonor45978 жыл бұрын
Hola buenas noches este es un tema que siempre e querido aprender gracias por enseñarlo, tengo una duda que se sale del tema recuerdo en los primeros videos que un boton los ponias a la escucha por medio de la interfaz ActionListener pero en este caso a esa pelota como la pondria a la escucha digamos que si doy clic sobre ella que se cierre el programa Espero su respuesta Gracias por todo
@juanmanuelmagnaterra76686 жыл бұрын
Hola, quiero hacer una aclaración pequeña... El hecho de que se ejecute concurrentemente en realidad no significa que sea a la vez... El procesador puede ejecutar simultaneamente tantas tareas como núcleos tenga... pero un CPU (es decir, un núcleo) puede ejecutar solo una tarea a la vez... el hecho de que las tareas de la cola de listos se ejecuten de forma concurrente implica que si bien se ejecutan de una tarea a la vez, el procesador va desarrollando las tareas de tal forma que da la sensación de que se ejecutaran a la vez...
@juanmanuelmagnaterra76686 жыл бұрын
al final quise poner ".....de tal forma que da la sensación de que se ejecutaran VARIAS a la vez..."
@pildorasinformaticas6 жыл бұрын
Es correcto lo que dices pero no quería afinar tanto. Un saludo!
@s3ktor4694 жыл бұрын
Una pregunta, si tengo una clase Coche de la cual creo y defino los objetos, y la llamo desde otra CocheTest usando el extends para poder hacer un super de sus atributos y realizar los set y get y ademas implemento desde esa misma clase el runnable aplicando el run esta bien hecho?
@danielmercadoalvarado41558 жыл бұрын
Ten una duda espero me puedas responder En tus videos no recuerdo si lo vi o no voy en el 168, Tienes el tema de ejecutar aplicaciones en segundo plano Me refiero a que si está en segundo plano la aplicación siga funcionando y no se detenga
@pildorasinformaticas8 жыл бұрын
Hola !! Eso corresponde al tema de los Threads. Efectivamente comienza en el vídeo 168 : kzbin.info/www/bejne/p4nLlGetl6mUp7c Y sucesivos. Un saludo!!
@damiva7 жыл бұрын
por fin !! matemáticas te utilizo xd
@Dotaproplayer6 жыл бұрын
ste men :v
@johannsamaya36896 жыл бұрын
Hola. Muy buen curso. Donde podría ver el código para estudiar mejor?
@marcossalas74164 жыл бұрын
Muy bueno pero tengo una pregunta, porque el método salir funciona? Si has metido los hilos solo a la hora de generar pelotas como es que esa función es accesible? Gracias
@STEVEN513626 жыл бұрын
Amigo, podrias colocar en que video explicas la logica de la Clase Pelota? Por favor
@maxvilcas45367 жыл бұрын
Buen vídeo Felicitaciones si seria tan amable de poder obtener el código terminado.
@rubenfranco76908 жыл бұрын
Quisiera preguntar, se sabe cual fue la excepción que salió en el minuto 30:07 y cual fue su origen? Excelente video, bastante informativo, gracias.
@Alex75JR8 жыл бұрын
Esta es la excepción que me sale a mí cuando clicko muchas veces: Exception in thread "Thread-3" java.util.ConcurrentModificationException at java.util.ArrayList$Itr.checkForComodification(Unknown Source) at java.util.ArrayList$Itr.next(Unknown Source) at LaminaPelota.paintComponent(UsoThreads.java:108) at javax.swing.JComponent.paint(Unknown Source) at PelotaHilos.run(UsoThreads.java:231) at java.lang.Thread.run(Unknown Source)
@zkaiva348 жыл бұрын
y en lenguaje de un estudiante de primer semestre de ing. que quiere decir eso? :v
@rubenfranco76908 жыл бұрын
Ya lo pude leer, dice concurrenmodificationexception, en palabras mas sencillas, en Java cuando uno itera o recorre arreglos de datos, a dicho arreglo no se le pueden realizar modificaciones hasta que termine de ser iterado, pero la verdad en este casos no sé que tenga que ver, posiblemente pueda ser algún problema de memoria en el PC y que haga que la máquina virtual de java se comporte de manera inesperada al enviar hilos tan rápidamente.
@forsabarça4 жыл бұрын
private static final int tamX = 15, tamY = 15; private double x = 0, y = 0 double dx = 1, dy = 1; ¿Qué tall si agrupamos las variables de class con el objetivo de reducir código?
@thrafiker109 жыл бұрын
Duda, cuando crea la lamina, ahi ya tiene un hilo, es el hilo principal es el mismo que cierra la aplicacion, y al pulsar el boton "Dale!" se crean nuevos hilos, es asi o me equivoco. saludos, excelentes cursos :).
@pildorasinformaticas9 жыл бұрын
+Ricardo Lopez Así es. Correcto !! Un saludo
@robertofragaalarcon40186 жыл бұрын
me crea una duda, al no estar el código de salir en el metodo run() solo se podría salir cuando el hilo principal acabe? muy bueno el curso de lo mejor de youtube, hay muchisimo trabajo detrás de estos videos. me alegro mucho que la gente sepa valorarlo. un saludo. muchas gracias
@robertofragaalarcon40186 жыл бұрын
dandole mas vueltas lo único que se me ocurre es que cuando se crea la primera pelota se crea otro hilo y deja el hilo principal libre.
@sfhj84358 жыл бұрын
Buenas tardes; me podria decir cual fue el tutorial donde usted realizo bien este ejemplo. gracias
@pildorasinformaticas8 жыл бұрын
+Johan Fonseca Sanchez No entiendo la pregunta.
@sfhj84358 жыл бұрын
Osea dpnde usted esplico bien lo de hacer una pelota que se moviera. Gracias y disculpe la pregunta
@sfhj84358 жыл бұрын
Osea el video
@pildorasinformaticas8 жыл бұрын
+Johan Fonseca Sanchez Pues no lo recuerdo. Tengo 195 vídeos en este curso y 719 en todo el canal. Me resulta imposible donde comenté una cosa u otra. Te paso la lista de reproducción para que lo busques tú si te sientes con ganas: kzbin.info/aero/PLU8oAlHdN5BktAXdEVCLUYzvDyqRQJ2lk Un saludo
@sfhj84358 жыл бұрын
gracias
@jorgeandres88198 жыл бұрын
hola puedes explicar sobre listas simplemente ligadas muchas gracias
@pildorasinformaticas8 жыл бұрын
Vídeos del 179 al 189 (si no recuerdo mal). Un saludo!!
@MsBriansteve6 жыл бұрын
Feliz día del maestro atrasado.. Y como seria un botón para que en vez de salir quite 1 pelota?
@lord-jarc4 жыл бұрын
20:46 soy serio con estas cosas pero morí con PelotaHilos xD :v
@thebryant63445 жыл бұрын
Quisiera que hagas un curso de JavaFx :c
@pildorasinformaticas5 жыл бұрын
Estoy en ello. Espero poder subirlo en breve. Un saludo!
@edersorto73464 жыл бұрын
:D threads ... Gracias
@ricardolopez75067 жыл бұрын
Buenas, estoy aprendiendoel algoritmo de dekker, semaforos, fork join y esas cosas sirve para algo ? porque no encuentro donde aplicarlo
@pildorasinformaticas7 жыл бұрын
Sí, claro que sirve.... La necesidad surge cuando uno programa no una, sino muchas aplicaciones que manejan Threads. Entonces es cuando surgen los conflictos y donde entran en juego los conceptos que tú mencionas. En este curso no se ve ningún ejemplo donde se necesiten, pero es que se ven solo dos o tres ejemplos. Me gustaría abarcar más temas pero entonces el curso se me va a los 500 vídeos. Un saludo!!
@ricardolopez75067 жыл бұрын
Genial, gracias!! muy bueno el canal me subscribo
@frey.o.o5 жыл бұрын
saludos Juan, este ejercicio lo hice en su epoca con tus instrucciones pero se me perdio, el link de la descripción se encuentra malo, es posible que lo vuelvan a montar? o algún alumno colega me lo puede suministrar. saludos cordiales
@sturzeneitor7 жыл бұрын
Hola Juan, que tal...puede ser que la forma de seguir aprendiendo Java después de haber adquirido cierto nivel sea leyendo códigos de programas ya hechos? Gracais y felicitaciones!
@pildorasinformaticas7 жыл бұрын
Claro que si. Una vez realizado un curso, la única forma de seguir aprendiendo es leyendo códigos y practicando con nuevos códigos. El hacer un curso por si solo es solo el primer paso para conseguir comprender un lenguaje de programación. Un saludo!!
@cbluis75679 жыл бұрын
Hola que tal!Tengo algunas dudas a ver si es posible resolverlas(sobre el programa multihilos del video).No logro entender como se añade a la laminas la(s) pelota(s), si al llamar al metodo "lamina.add(pelota)"desde el metodo "comienza_el_juego" de la clase MarcoRebote, la logica me dice que lo que hace es añadir las pelotas al arraylist que hay de la clase LaminaPelota, ya que en el metodo "addd(Pelota b)" de la clase LaminaPelota entiendo que con la instruccion "pelotas.add(b)" al ser "pelotas" un arrayList lo que hace ese metodo al llamarlo es añadir las pelotas al arrayList ,y no añadirlas a la lamina como se comenta en el video(sé que estoy equivocado pero no se por qué). O es que se supone que añ añadir las pelotas al arraylist ya estoy añadiendolas a la lamina?No lo acabo de entenderOtra duda es: Si el hilo que minimiza o cierra el marco(sería el del main) o el del boton "cerrar" no está dentro del metoComo puesto entonces cerrar la aplicacion mientras se está ejecutando?Sé que la respuesta es muy basica pero tampoco entiendo esa parte.Y por último: ¿Lalinea "componente.paint(componente.getGraphics())" dentro del bucle for en la clase PelotaHilos llama al metodo "public void paintComponent(Graphics g)" de la clase LaminaPelota, y esto es lo que va pintando constanstemente la lamina?Muchisimas gracias y saludos!!!
@pildorasinformaticas9 жыл бұрын
+Carl Bacchus Luis Hola !! Vamos por partes: "No logro entender como se añade a la laminas la(s) pelota(s), ..........". Respuesta: La clase LaminaPelotas tiene un método paintComponent en el cual pintamos pelotas con el método fill de la clase Graphics. Si después agregamos la lámina al marco, ya tenemos un marco con una pelota dibujada. Si además metemos la instrucción en un bucle como hacemos másadelante, ya tenemos varias pelotas. "Si el hilo que minimiza o cierra el marco(sería el del main) o el del boton "cerrar" no está dentro del metoComo puesto entonces cerrar la aplicacion mientras se está ejecutando?......" Respuesta: He leído varias veces la pregunta pero no logro entenderla. ¿Podrías redactarlo e otra forma? "Y por último: ¿Lalinea "componente.paint(componente.getGraphics())" dentro del bucle for en la clase PelotaHilos llama al metodo "public void paintComponent(Graphics g)" de la clase LaminaPelota, y esto es lo que va pintando constanstemente la lamina?" Respuesta: Correcto. Y esto responde en gran medida a tu primera pregunta. Un saludo
@cbluis75679 жыл бұрын
+pildorasinformaticas Gracias por la respuesta tan rápida y clara, lo he entendido(yo lo había planteado mal, pensando que había que añadir las pelotas a la lamina, como por ejemplo se hace con un botón, o con una lamina que añades a otra lamina o marco) Sobre la pregunta que no se entiende, volviéndola a leer yo tampoco la he entendido :P A ver si soy capaz de hacerla que se entienda: Sé que dentro del método “run” se pone el código correspondiente a las tareas que sean simultaneas, entonces como cerrar/minimizar el marco (“setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);”)o salir del programa(gracias a “System.exit(0);” en el botón de Salir) entiendo que tambien son hilos pensaba que también se tendría que poner dentro del método run, o llamar desde ahí. Sé que no es así porque el video me lo demuestra, pero quisiera saber por qué mi planteamiento es erróneo(Pensaba que era así porque en el primer programa hecho sin Threads no se podía cerrar el marco hasta que la bola parase) Sé cómo se debe hacer(he aprendido gracias a ti) pero quisiera saber el por qué de las cosas, es la mejor manera de aprender(por eso, entre otros motivos, me encantan tus videos, porque explicas todo muy claramente y detalladamente)
@cristiandiaz5532 жыл бұрын
Vengo del futuro a ver el vídeo sin haber visto el resto de clases... Deséenme suerte.
@d02veagj2 жыл бұрын
Buenas. yo me acabo de descargar al archivo pero el programa no se ejecuta como debe. Puede ser haya algo desactualizado y por eso no funciona bien? gracias