Curso Java. Interfaces y clases internas Interfaces IV. Vídeo 52

Поділитися
Вставка
  • Опубліковано 15 гру 2024

КОМЕНТАРІ • 282

  • @pildorasinformaticas
    @pildorasinformaticas  3 роки тому +9

    ✅✅ ✅ ✅ ✅ 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. 💥💥💥

  • @maobesoya7335
    @maobesoya7335 10 місяців тому +6

    Sin palabras profesor. Sus clases deberian ser de obligatoria asistencia para todos aquellos docentes que quieren enseñar a programar. Una metodología impecable.

  • @pamkiller
    @pamkiller Рік тому +2

    Maravilloso curso que estoy siguiendo ahora en 2023 para tratar de aprender a programar en JAVA. Te felicito por él, Juan, eres un crack!
    Por alguna extraña razón, al hacer esta práctica la pantalla que muestra el mensaje desaparece y solo me muestra la hora una vez. No logro desentramar por qué.

  • @senior_developer
    @senior_developer 7 років тому +175

    Chicos y chicas los que tenemos activado el addblock a ver los videos de Juan vamos a desactivarlo. Asi veamos los anuncios y youtube le pagara a nuestro maestro Sensei.
    Juan, muchas gracias por el trabajo realizado. Eres el mejor de los mejores.

    • @pildorasinformaticas
      @pildorasinformaticas  7 років тому +33

      Muchas gracias por el comentario y por animar a los demás a que colaboren con la causa. Un cordial saludo

    • @mgarc9779
      @mgarc9779 7 років тому +3

      yo lo tengo desactivado, justo es una buena manera de agradecer todo el esfuerzo del profe. Animo también a que todos lo hagan.

    • @fernandocarlos9477
      @fernandocarlos9477 7 років тому

      a mi me sale una publicidad que puedo omitir a los 5 segundos (siempre la omito porque quiero que la clase del profe arranque cuanto antes XD) es suficiente o toca dejar que la publicidad abarque mas tiempo?

    • @fernandocarlos9477
      @fernandocarlos9477 7 років тому +2

      Listo, perfecto, pero persiste mi pregunta dado que ignoro completamente el tema de retribución económica en los videos del propietario de un canal de youtube, la pregunta es: ¿ es suficiente dejar correr la publicidad por 5 segundos ( al cabo de esos cinco segundos puedes omitirla) para que el dueño del canal, en este caso el profesor Juan reciba la retribución económica o debo dejarlo correr más tiempo ?

    • @maniaconauta
      @maniaconauta 6 років тому +2

      Rayos, tendre que volver a ver todos los videos de aqui al 1, D:

  • @David-fq2eu
    @David-fq2eu 6 років тому +12

    El código del vídeo:
    import javax.swing.JOptionPane;
    import javax.swing.Timer;
    import java.awt.event.*;
    import java.util.*;
    public class PruebaTemporizador {
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    DameLaHora oyente=new DameLaHora();
    Timer miTemporizador= new Timer(5000, oyente);
    miTemporizador.start();
    JOptionPane.showMessageDialog(null, "Pulsa aceptar para detener");
    System.exit(0);
    }
    }
    class DameLaHora implements ActionListener{
    public void actionPerformed(ActionEvent e) {
    Date ahora=new Date();
    System.out.println("Te pongo la hora cada 5 sg: "+ ahora);
    }
    }

  • @YoSoyRaulTV
    @YoSoyRaulTV 7 років тому +42

    Me encanta, joder. mi profesor tiene un doctorado y no explica tan bien con usted. sin luar a duda, el mejor canal de programacion que he visto

    • @pildorasinformaticas
      @pildorasinformaticas  7 років тому +3

      Gracias por el comentario. Me alegro de que te guste el curso. Un saludo!!

    • @Lucas-di4jy
      @Lucas-di4jy 5 років тому +1

      Yo tengo un profesor con una maestria en ingenieria y lo unico que hace es leer diapositivas, sin duda pildorasinformaticas es mucho mejor profesor

    • @Mofumofu-rw5eb
      @Mofumofu-rw5eb 3 роки тому +2

      Para enseñar no hace falta un doctorado. Se necesita un curso para aprender a enseñar o tener el don que tiene Juan. Es increíble como explica.

  • @paulcano3840
    @paulcano3840 9 років тому +32

    Este ha sido el video que más me costado entender hasta ahora. Al final, creo que lo he conseguido. Están siendo geniales tus explicaciones. Un saludo.

    • @pildorasinformaticas
      @pildorasinformaticas  9 років тому +13

      Paul Cano Algunos son más complicados y en otros el que habla en los vídeos no está tan inspirado.... hay muchos factores en juego para entender bien la cosa. Un saludo !!

  • @edbt158
    @edbt158 5 років тому +14

    Es un tema bastante complejo, sin embargo tu lo explicas de modo que todos podamos entenderlo. Muchas gracias profesor

  • @omgcoin
    @omgcoin 9 років тому +4

    Sencillamente el mejor profesor que he podido ver

  • @adriancordova1618
    @adriancordova1618 3 роки тому +2

    Excelente ejercicio un poco complicado pero paso a paso y con paciencia se logra entender, además de que con mis conocimientos de JavaScript y PHP me resulta más fácil entender conceptos que todavía no se ven en este curso por ahora. Podemos decir entonces que el objeto "oyente" es el EVENTO, bueno un objeto que será utilizado como evento, y para ello debe tener implementado la interfaz ActionListener para indicarle que uno de sus métodos será utilizado como EVENTO el cual debe llamarse actionPerformed, ya que el objeto puede tener otros métodos y propiedades suyas. Muchas gracias maestro Juan buen video.

  • @negroplatino8177
    @negroplatino8177 4 роки тому +1

    Sos un gran maestro!!!! estoy en segundo año de universidad y el tema de las interfaces nos mato a todos, hasta que encontre tus videos. La sencillez con que explicas todo es simplemente incleible. Vos tenes muy merecido el mote de GENIO. Mil gracias por lo que haces.

  • @holahola6835
    @holahola6835 5 років тому +4

    Yo lo estoy haciendo así, quito el addblock para que al menos, tenga algo más, creo que se lo gana con creces. Gracias por todo Profesor.

  • @arturosach9618
    @arturosach9618 7 років тому +1

    Hola a todos desde México!!! Les deseo antes que nada mucho éxito y como siempre no me canso de decir que estos son los mejores cursos existen.
    Quería compartir como dato curioso que mi programa de este video funcionó sin problema sin System.exit(0);
    Saludos de su amigo Arturo!

    • @pildorasinformaticas
      @pildorasinformaticas  7 років тому +1

      Hola !! ¿Has probado a meter alguna instrucción más después de la ventana JOptionPane? Si lo hacer observarás que el programa continúa la ejecución por esas líneas de código. System.exit(0) detiene la ejecución del programa y sale del flujo. En este ejemplo creo recordar que daba igual ponerlo o no por la simplicidad del código, pero si hubiera código después y quieres detener la ejecución, deberás ponerlo. Un saludo!!

  • @miguelangelvasquezgarcia8235
    @miguelangelvasquezgarcia8235 2 роки тому

    Gracias profesor por cada uno de los videos, aqui retomando el curso que lo habia dejado por una u otra razon y cada que avanzo un nuevo video ahora comprendo cada explicacion. Muchas gracias.

  • @korderoman
    @korderoman 8 років тому

    Sinceramente, no dejo de aprender de tus lecciones, es una labor muy importante la que realizas...

  • @SinNombre101
    @SinNombre101 8 років тому +5

    Muy buena explicacion y vídeo , he aprendido más cosas de las que he podido imaginar.
    Gracias por su trabajo y dedicación.

  • @jesusn7576
    @jesusn7576 8 років тому +3

    Me gustan sus video y tambien que ayuda a entender las explicaciones que da la API de las clases. Muchas Gracias.

  • @damianllopar9348
    @damianllopar9348 4 роки тому

    Un genio! lo facil que haces la explicacio!! Sos el Julio Profe de la programacion!!

  • @guillermorivadeneira385
    @guillermorivadeneira385 4 роки тому

    Es buenisimo el video, tengo muchos profesores y no hacen las clases tan practicas, ademas muchos de los proyectos que haces me sirven de inspiracion para poder realizar cosas por mi cuenta, un millon de gracias Juan

  • @crc_12z28
    @crc_12z28 Рік тому +1

    Professor, lo que mas me gusta de estas clases es que cuando tenemos un problema (en mi caso porque , me propongo siempre hacerlo distinto, manteniendo la esencia de la materia, ej.uso el VS Code Editor) quiero entonces mencionar a aquellos que han tenido problemas como "Error: Could not find or load main class", simplemente prueben en VSCode la palabra pequeña Run|Debug "Run" que el editor despliega por si mismo...click en Run y podrian ver una mejor ejecucion. saludos...seguimos

  • @Ladymuuh
    @Ladymuuh 8 років тому

    Adoro su canal, explica las cosas perfectamente y me engancho fácilmente a sus vídeos, muchísimas gracias

  • @maxitorres7
    @maxitorres7 7 років тому +3

    Excelente el Curso!! Me encanta! El mas completo en youtube creo yo. Muchas Gracias!

  • @alejandrocastillo9260
    @alejandrocastillo9260 10 років тому +7

    Muy buen vídeo para comprender el funcionamiento de Interfaces y como introducción a los eventos.

  • @abimaelmnzc2381
    @abimaelmnzc2381 Рік тому

    Sinceramente un gran video, nada mejor que la practica ❤❤

  • @joselosddrd
    @joselosddrd 7 років тому

    Este video es brutal. Muestra exactamente lo que es el Forcing Behavior on a class. Asi lo lei en el libro. Excelente.

  • @alexchamorro1884
    @alexchamorro1884 5 років тому +2

    Gracias por el aporte..!!,eres un genio enseñando

  • @miltonlaracieza3345
    @miltonlaracieza3345 5 років тому +1

    Gracias por el curso cada día aprendo mas ;

  • @lucasabalos620
    @lucasabalos620 4 роки тому +5

    Hola, me esta pareciendo increíble este curso. El único problema es que no se como practicar estos conceptos, siento que entiendo perfectamente cuando explicas pero no puedo llevarlo a la practica. Alguien con mas experiencia que me pueda dar un consejo se lo agradecería. Soy totalmente autodidacta y me cuesta un poco encontrar el camino para aprender. Mi objetivo final es poder desarrollar aplicaciones para Android por eso investigue y me pareció que lo mejor iba a ser aprender Java primero y hasta ahora este es el mejor curso que vi.

    • @fuckingstone1452
      @fuckingstone1452 4 роки тому

      Este mismo profesor (pildorasinformáticas) tiene un curso de Android que puedes hacer después de realizar este de Java!

    • @alanyanse8848
      @alanyanse8848 4 роки тому +1

      para poner en práctica te conviene iniciar un proyecto que te guste por ejemplo, en mi caso estoy haciendo una mascotita virtual entonces vas a repasar lo aprendido en el curso y vas a ver muchas cosas nuevas que se van a explicar a futuro en el curso y te van a costar menos porque ya tenés una idea gracias al proyecto... yo lo estoy haciendo así y me está dando resultado.

    • @cristhianlopez4456
      @cristhianlopez4456 4 роки тому

      @@alanyanse8848 hola amigo. Te rogaría q por favor me ayudes. Logre conseguir una pasantia en una empresa reconocida en mi país. Y quisiera q me ayudes. Me dieron una tarea y no entiendo muy bien lo q tengo q hacer. Te dejo mi wp por favor te pediría.,, 🙏+591 77904696

  • @antoniol.9340
    @antoniol.9340 5 років тому +9

    Echando un vistazo (no muy exhaustivo, todo hay que decirlo) a los comentarios del vídeo no he encontrado mención alguna a lo que se dice en el vídeo sobre el minuto 3:30. Y es que, si no he entendido mal, se dice que el paquete por defecto es java.util y que por tanto no debe o no es necesario importarse.
    No obstante en el vídeo 13 del curso (sobre el minuto 10:54) se dice explícitamente que el paquete por defecto es java.lang.
    Muy probablemente este interpretando la información erróneamente y donde yo veo una incongruencia (a saber que en este vídeo se dice que el paquete por defecto es java.util y en el vídeo 13 es java.lang) no sea más que un fallo por mi parte, en tal caso bienvenida sea la pertinente corrección. En caso contrario, el ánimo con el que se hace este comentario es simplemente constructivo para con la comunidad alrededor de este canal.
    El usuario @Luis Marino ya comentó acerca de esto mismo. Efectivamente el paquete por defecto es java.lang.

    • @pildorasinformaticas
      @pildorasinformaticas  5 років тому +13

      Si en algún momento del curso se dijo que el paquete por defecto es java.util, se trata de un error por mi parte. El paquete por defecto en java y por lo tanto no es necesario importarlo, es el paquete java.lang. Un saludo!

    • @programaprograma1
      @programaprograma1 3 роки тому

      @@pildorasinformaticas No se preocupe, que los que estamos siguiendo el curso, sabemos que es un detalle que se le paso, ya que es ser humano y esta explicando algo complicado... Muchas gracias por sus videos. Simplemente el que no entendió que entendió, es xq no viene siguiéndooslo sus videos profe. Saludos.

  • @anyersonespana6831
    @anyersonespana6831 Рік тому

    Excepcional, Gracias, Maestro.

  • @NFTGamesAndTrades
    @NFTGamesAndTrades 7 років тому +2

    También podemos crear nuestro objeto oyente de tipo interface ActionListener haciendo uso del Principio de sustitución.
    DameLaHora oyente = DameLahora(); Hecho por Juan min 10:55
    ActionListener oyente = new DameLaHora(); Hecho por mi.

  • @philipfansworth
    @philipfansworth 6 років тому +3

    Ecxelente!!! Muchas gracias. :)

  • @zeusclash1475
    @zeusclash1475 6 років тому +6

    wao al fin volvi a ver la luz xd lo he visto como 5 veces xd

  • @eduardotrujillo9316
    @eduardotrujillo9316 4 роки тому

    Ya se que pillará lejano en conocimientos pero pensaba que se iba ya a hacer algún comentario del Thread Sleep, que creo que se usa para estancar una ejecución. Thread es algo que lo he visto, se que existe pero hasta ahí mis conocimientos. Espero llegar pronto al lugar oportuno donde se explique. Igualmente es agradable conocer alternativas, ya que al fin y al cabo, la gracia de todo esto es contar con flexibilidad.

  • @ignacioantoniojeriagarrido6877
    @ignacioantoniojeriagarrido6877 8 років тому +3

    Hasta que entendí lo de las interfaces. Me costó un poco pero lo comprendí xDD Gracias profesor

    • @pildorasinformaticas
      @pildorasinformaticas  8 років тому +1

      +Ignacio Antonio Jeria Garrido Son conceptos complejos que a todo el mundo le cuesta la primera vez. Un saludo!!

  • @estivenmartinez576
    @estivenmartinez576 5 років тому +4

    Hola Juan en el minuto 21:04 dices que con la instrucción temporizador.start(); se comienza a ejecutar el temporizador, pero en el proceso de ejecución cuando la lea el programa muere, eso no me quedo claro inicia el proceso, pero cuando lo lee lo detiene. No entendí muy clara esa parte.

    • @ArmanGO-Oficial
      @ArmanGO-Oficial 3 роки тому

      Tampoco me quedo claro a que se referia el profe en esta parte 😵

  • @aalbersi
    @aalbersi 8 років тому

    Voy a tener que ver nuevamente interfaces y clases internas desde el principio porque ya me tranque jaja... Pero muy bueno los videos

  • @CarlosBenites19
    @CarlosBenites19 7 років тому +5

    Quien descarga en audios y escucha estos cursos por su celular? un genio Juan

    • @macrosszeroshin
      @macrosszeroshin 6 років тому

      No por que si no no monetizan, todos tenemos que poner de nuestra parte...

    • @zeusclash1475
      @zeusclash1475 6 років тому +2

      @@macrosszeroshin hey pana
      xd voy contigo son pocos los que estan realizando este curso xd

    • @MrEgdy
      @MrEgdy 4 роки тому

      @@zeusclash1475 Hey pana como van con el curso

  • @Terzaghi12
    @Terzaghi12 8 років тому +2

    Tambien hay que mencionar que se puede importar java.util.Date; en lugar de la clase perteneciente al paquete javax.swing.Timer........Aunque creo que la segunda forma es mejor, ya que de esa manera sabes bien cual clase Timer estas usando

  • @jhonnypb7067
    @jhonnypb7067 7 років тому +1

    excelente, como siempre.....

  • @Alex-eq1cs
    @Alex-eq1cs Рік тому

    Tampoco nos hace falta crear una nueva clase para el objeto que necesita Timer. Podemos implementar el ActionListener en la única clase que tengamos, donde está el main, añadimos el método ActionPerformed que nos obliga y luego, el objeto que generamos de oyente, lo creamos de la misma única clase.
    En este caso, simplificamos el código a la mitad porque sólo usamos una clase, pero también entiendo que es más interpretable generando una nueva clase. Lo que a mi ya comienza a volverme loco tener varias clases en un único archivo :D

  • @osvaldocire2279
    @osvaldocire2279 7 років тому

    Que buen video! Gracias profesor.

  • @miguelangelramirezsanchez4359
    @miguelangelramirezsanchez4359 4 роки тому

    Wow trans cada videos mas personas se salen y yo que cada vez tengo mas ganas de aprender

  • @franciscobarrachinablanco9129
    @franciscobarrachinablanco9129 10 років тому +1

    Hola juan !!! He encontrado el error viendo el video 53, cuando haces un repaso de lo hecho en el video anterior. Era una llave de cierre que me faltaba poner. Gracias de nuevo y un saludo.

    • @pildorasinformaticas
      @pildorasinformaticas  10 років тому

      francisco barrachina blanco Hola !! Me alegro que lo hayas visto porque ese tipo de errores son difíciles de detectar. Un saludo

  • @jesusgacia5666
    @jesusgacia5666 4 роки тому

    Bueno video muchas gracias, pude ver que con miTemporizador.stop(); tambien podemos detener el envio de los eventos al oyente

  • @abadcompany5098
    @abadcompany5098 7 років тому +2

    Gracias cx. Me gustó mucho.

  • @cristianmerono
    @cristianmerono 8 років тому +5

    Juan , lo primero gracias por este maravilloso curso que me está ayudando tanto y enhorabuena por el éxito que te propicia .
    Mi pregunta es: ¿Por qué vídeo recomiendas que vayamos para empezar tu curso de Android , para enterarnos de todo?
    Mucho ánimo y un saludo.

    • @tobiasr.galeanoc.697
      @tobiasr.galeanoc.697 3 роки тому

      tambien me gustaria saber!
      estas en condiciones de responder tu mismo hoy en dia esa pregunta?.
      Me ayudarias mucho.

  • @luismarino8202
    @luismarino8202 8 років тому +2

    En el minuto 3:31 dices que el paquete por defecto es java.util ¿No te habrás equivocado y te referirás al java.lang??Gracias.

    • @pildorasinformaticas
      @pildorasinformaticas  8 років тому +2

      +Luis Marino Pues si he dicho eso, efectivamente me he equivocado. El paquete por defecto en Java y que no necesita ser importado es el paquete java.lang. gracias por avisar. Voy a poner una anotación en el vídeo. Un saludo!!

    • @carlosbarrios3428
      @carlosbarrios3428 4 роки тому

      Busque este comentario por mucho tiempo

  • @mcsedrap9090
    @mcsedrap9090 7 років тому +1

    Hola Juan, puede que sea pesado pero me gusta bastante programar y sinceramente me sirves de gran ayuda. Eres como una guía que hace que mis pasos sean mas largos y entretenidos.
    Posteriormente te quiero comentar, sé que de este código ya ni te acuerdas, pero estoy implementando el mismo código y me gustaría saber como implementar un contador que cada vez que me el mensaje de showMessageDialog intervenga cada 5 segundos, el programa aumente el contador y me muestre el resultado. Saludos Juan y de veras que te agradezco el estar ahí con nosotros al pie del cañón. Saludos máquina,

    • @mcsedrap9090
      @mcsedrap9090 7 років тому +2

      Ya está, me contesto a mi mismo. Introduzco un atributo con un valor por defecto "0"; y en el metodo actionPerformed aumento el valor en uno cada vez que me muestre el mensaje. Saludos Juan

    • @eliasnovelo6502
      @eliasnovelo6502 Рік тому

      @@mcsedrap9090 :V

  • @manuelfernandez5237
    @manuelfernandez5237 5 років тому +1

    Genio!!!!!!!!!!

  • @chr7stian
    @chr7stian 7 років тому +2

    Hola Juan, hay algo que no entiendo minuto 28:30, si el programa esta parado (como lo dices tu, porque hasta no hacer click en el boton el programa no sigue la ejecucion), como es posible que siga imprimiendo en consola. Me podrias explicar esto, o cualquier usuario que vea este comentario. Saludos

    • @luisferdev
      @luisferdev 6 років тому +1

      según lo que entiendo es porque cada cinco segundos el objeto de tipo Timer invoca al evento actionPerformed del objeto oyente y esta acción se seguirá ejecutando mientras el programa esta en espera a que pulsemos en aceptar para continuar la ejecución del resto de código

    • @zeusclash1475
      @zeusclash1475 6 років тому

      porque video vas pana ya? xd estoy atras de ti :)

    • @zeusclash1475
      @zeusclash1475 6 років тому +1

      ya veo que no estoy solo y que vamos biendo la luz xd

    • @luisferdev
      @luisferdev 6 років тому

      voy por el vídeo número 72.

    • @zeusclash1475
      @zeusclash1475 6 років тому

      Luisfer wao en 4 dias te viste 20 y tantos videos vaya :v

  • @SimonMeansSimulation
    @SimonMeansSimulation 7 років тому +6

    Profesor, feliz tarde. ¿Por qué no da un error el programa si no se ha inicializado el ActionEvent e?

    • @gerardocabello9878
      @gerardocabello9878 3 роки тому +1

      Tengo la misma duda, solo instanciamos un objeto de la clase DameLaHora, y este objeto lo pasamos como parámetro al constructor de la clase Timer...pero nunca se llama a la función actionPerformed ni se le pasa el parámetro llamado “e” de tipo ActionEvent... como es posible? 😅

  • @ulernia9729
    @ulernia9729 4 роки тому +3

    pero... en que momento se crea el objeto AcionEvent e... quien lo construye y cuando se lo pasa al método actionPerformed.

  • @DavidRodriguez-uj4ls
    @DavidRodriguez-uj4ls 8 років тому

    Si solo queréis la hora, podéis pillarla de objetoDate.getHours() objetoDate.getMinutes() y objetoDate.getSeconds()

  • @jmansanetperez
    @jmansanetperez 6 років тому

    Muchas gracias.

  • @salgresan
    @salgresan 9 років тому +1

    saludos maestro
    una anotación yo para detener la clase timer no utilize System.exit(0); si no que use el metodo mitemporizador.stop();
    estoy en lo correcto?
    gracias de antemano

  • @mrlx-1520
    @mrlx-1520 4 роки тому +1

    Cuidado al importar los paquetes
    importe los paquetes equivocados media hora para darme cuenta xd
    buen video

  • @giorgiechannel4091
    @giorgiechannel4091 6 років тому

    Genial mil gracias

  • @zulumopuku5370
    @zulumopuku5370 4 роки тому

    professor si voce podesse publicar o codigo fonte , o curso seria ainda mais TOP. Mas tenes un grand talento para lo que haces... muchas gracias

  • @ivanmalaiu
    @ivanmalaiu 4 роки тому

    Excelente

  • @jorgecallejas4902
    @jorgecallejas4902 4 роки тому

    @pildorasinformaticas ¿Cómo puedo realizar comunicación serial con Java?

  • @danielcalderon8727
    @danielcalderon8727 5 років тому +1

    Hola!! Gran curso y aún bastante útil.
    Por ahí vi una pregunta similar a esta pero no vi una respuesta que me aclarara. Es con respecto al inicio del temporizador y si el hecho de necesitar "detener" la finalización del programa para que se siga escuchando el evento.
    1 miTemporizador.start();
    2 JOptionPane.showMessageDialog(null, "Pulsa Aceptar para detener");
    3 System.exit(0);
    Al momento de ejecutar la línea 2 y, mientras no se de click en Aceptar, la instrucción 1 sigue corriendo. ¿Es esto un proceso asíncrono, multihilo o algo similar?
    Gracias!!!

  • @carmen7598
    @carmen7598 5 років тому +1

    hola, yo he empezado ahora con sus videos y me encantan, ningún profesor me ha hecho ver lo fácil que es Java. Si es posible me gustaría hacerle un pregunta:
    La clase Timer que utilizamos en el video es del paquete java.swing, es public , extends Object y implement Serializable, no?, pues como Serializable es una interfaz como no se implementa también su método?.
    Espero haberme explicado bien, gracias de antemano.

    • @pildorasinformaticas
      @pildorasinformaticas  5 років тому

      Hay 3 clases Timer en la API de Java. Nosotros utilizamos en el curso la del paquete java.util la cual no implementa Serializable. Tú te refieres a la clase Timer del paquete swing la cual si implementa Serializable y que no hemos utilizado en el curso. Un saludo!

    • @carmen7598
      @carmen7598 5 років тому

      @@pildorasinformaticas hola, no quiero ser impertinente, pero el paquete que utilizamos es swing, de hecho al importarla le decimos al programa
      import javax.swing.Timer, para que no se produjera un conflicto con java. util, que tambien la tiene.

    • @pablogarcialopez4005
      @pablogarcialopez4005 4 роки тому

      @@carmen7598 Tienes razón en que estamos implementando la interfaz, pero si en la API entras en ella, no hay ningún método construido dentro de ella. Creo que es por eso por lo que no tienes que declarar ninguno.

  • @gattaca17
    @gattaca17 7 років тому +1

    Profesor una pregunta. Me sale este error al querer compilarlo y verdad no se de que va poque segun yo he seguido al pie de la letra su código. Saludos
    "No enclosing instance of type PruebaTemporizador is accessible. Must qualify the allocation with an enclosing instance of type PruebaTemporizador (e.g. x.new A() where x is an instance of PruebaTemporizador)."
    Muchas gracias por el curso.
    -Saludos

    • @pildorasinformaticas
      @pildorasinformaticas  7 років тому +2

      Gracias por el comentario. Según la descripción del error. lavariable PruebTemporizador está fuera de ámbito, es decir, no es accesible. Sin ver el código no puedo decirte mucho más. Puedes copiar y pegar por aquí el código si lo deseas para ver si yo u otra persona lo podemos ver e indicarte el posible error. Un saludo!!

    • @gattaca17
      @gattaca17 7 років тому

      Gracias por responder maestro, ya vi que era cuestión de una llave de cierre. :(<
      -Saludos

  • @federicorey6874
    @federicorey6874 3 роки тому

    Hola profe, una consulta, en el minuto 21:04 usted dice que cuando el programa lea la instrucción mitemporizador.start, la ejecución se detiene, pero de ser así, no entiendo como es que puede ejecutar la instrucción "showMessageDialog()" la cual la escribe debajo en el minuto 23:11 , si es que el programa muere antes de poder leerla. Espero me pueda solucionar esta duda ya que no le encuentro solución.
    PD: Muchas gracias por sus videos, con su manera de explicar y empeño nunca fue tan divertido aprender! Saludos.

    • @atherbsc5384
      @atherbsc5384 3 роки тому +2

      Es un pequeño error en ese detalle, el programa muere en la siguiente linea porque no hay nada mas en el metodo main, el mitemporizador.start lo unico que hace es iniciar el temporizador nada mas, pero como en la siguiente linea no habia nada antes del que el profe colocara Joptionpane, el programa terminaba

    • @federicorey6874
      @federicorey6874 3 роки тому

      @@atherbsc5384 gracias !

  • @sfhj8435
    @sfhj8435 9 років тому +1

    Buenas noches. Gracias por sus videos son muy buenos; Disculpe una pregunta, osea que toca implementar todos los metodas de las interfaces asi no se utilicen todas? agradezco una respuesta.

    • @pildorasinformaticas
      @pildorasinformaticas  9 років тому

      +Johan Fonseca Sanchez Hola !! Si implementas una interfaz, debes desarrollar todos los métodos que tenga esa interfaz. Cuando una interfaz tiene muchos métodos, existe la alternativa de utilizar clases adaptadoras para no tener que desarrollar todos los métodos de la interfaz. Esto también se explica en el curso.
      Un saludo

    • @sfhj8435
      @sfhj8435 9 років тому

      Si, pero creo que hasta este punto no lo hemos visto.?

    • @pildorasinformaticas
      @pildorasinformaticas  9 років тому

      Creo que no. Como tengo más de 650 vídeos en el canal, me resulta complicado saber de memoria que se vio hasta este punto. Un saludo

  • @teldatamcy5656
    @teldatamcy5656 10 місяців тому

    Gracias. Chévere 🍌2024!!!

  • @mariailope
    @mariailope 6 років тому

    Disculpe que hago una pregunta de principiante: no comprendo por qué el botón "aceptar" de la ventana JOptionPane... aparece en idioma español. ¿Es porque automáticamente detecta mi idioma/país? Muchas gracias.

  • @amadodiaz3552
    @amadodiaz3552 4 роки тому +2

    21:29 while(true);

  • @believer3216
    @believer3216 7 років тому +1

    tengo una inquietud, he estado siguiendo el curso de java y en el ejercicio de este video al instanciar el odjeto oyente de la clase Damelahora en la instancia de timer me lanza un erro y me dice que constructor indefinido y no he podido resolverlo por favor ayuda [ Damelahora oyente = new Damelahora(); Timer mitemporizador = new Timer(5000,oyente); este es el error The constructor Timer(int, Damelahora) is undefined ]

  • @aleberas8259
    @aleberas8259 8 років тому +2

    Maestro una pregunta ? por que tenemos que pasarle el parametro de la instancia de la clase DameLaHora al constructor Time ? el constructor recorre la instancia de la clase y busca el metodo ActionPerfomed ?

    • @pildorasinformaticas
      @pildorasinformaticas  8 років тому +1

      Hola !! Hace años que grabé este vídeo y tengo más de 800 en el canal. no recuerdo el código. Dime minuto y segundo del vídeo donde aparece la instrucción y te lo explico. Un saludo

    • @mcsedrap9090
      @mcsedrap9090 7 років тому

      No sé si encontraste la respuesta, pero estoy revisando los comentarios para ampliar conocimientos. El profesor comentó que lo que realmente se hace con clases que importen ActionListener es usar el metodo ActionPerformed que es implementado a través de la interfaz.Si nosotros creamos una instancia de DameLaHora lo que hacemos es eventuar o mejor dicho buscar el metodo ActionPerformed() que realiza las operaciones que introducimos en el cuerpo del metodo cada 5 segundos.

  • @robertplant7080
    @robertplant7080 8 років тому

    Sr.Pildorasinformaticas sólo una pregunta muy básica creo, cuando usted utiliza este nuevo mensaje de presentación JOptionPane.showMessage(null, "mensaje"); y el parámetro que le envía es un null; por que le envías un null!!
    Una vez yo estuve en curso de java; y ví que el primer parámetro es un string; osea que si quiero que sea una ventanita de eliminación(La idea es que salga allí en la ventana un icono de eliminación que yo tenga en un paquete de un proyecto x) y quiero que ese mensaje haga referencia a una ventana de eliminación, lo que tengo que indicarle la ruta donde se encuentra la imágen y como usted no tiene ninguna imágen y el video no se acerca creo todavía a ese tema, por eso usted creo que le pone Null!! Será así SrPil...!! (y)

  • @KIWAIMPRESOS
    @KIWAIMPRESOS 10 років тому

    Buen dia juan una pregunta es que formatie el equipo y volvi a ejecutar el eclipse y copio los package anteriores y los pegue otra vez en el workspace y no me aprece cuando abro el eclipse. y de antemano Gracias.

    • @pildorasinformaticas
      @pildorasinformaticas  10 років тому

      Hola !! Debes crear en Eclipse un proyecto nuevo (se explica al principio del curso), después meter los archivos .java en la carpeta src y los archivos .class en la carpeta bin.
      Espero que lo consigas. Un saludo

  • @elcristianodeacero3138
    @elcristianodeacero3138 Рік тому

    ¿Es normal que me marque error en la línea del showMessageDialog y aún así arranque?

  • @doncarlos212
    @doncarlos212 8 років тому +1

    No enclosing instance of type PruebaTemporizador is accessible., me da este error en la linea de DameLaHora oyente = new DameLaHora(); ¿que puede ser? he revisado el código un montón de veces

    • @pildorasinformaticas
      @pildorasinformaticas  8 років тому

      Hola !! Copia y pega por aquí todo tu código para poder ayudar con esta duda. Un saludo!!

    • @doncarlos212
      @doncarlos212 8 років тому

      Buenas, gracias por la rápida respuesta, he encontrado el problema y era que habia declarado la clase dentro del método main, me lié contando las llaves jajaj

    • @davidgonzalez7824
      @davidgonzalez7824 8 років тому +1

      Llege algo tarde. Me paso el mismo error. Ese error sucede porque declaro la clase DameLaHora dentro de la clase PruebaTemporizador.

  • @alejandrocastillo9260
    @alejandrocastillo9260 10 років тому +2

    Una pregunta Juan, en el primer vídeo hablabas sobre el temario de la primera parte del curso. Y también decías que todo el curso, parte una y dos, constaría de unos 250 vídeos. Mi pregunta es cuantos vídeos más faltan para acabar la primera parte.
    Otra consulta, nunca he dado JavasScript, y no sé si me recomiendas meterme con tu curso de Javascript o puede llegar a liar hacer los dos lenguajes a la vez. Si no, haría el de HTML5. Saludos y gracias

    • @pildorasinformaticas
      @pildorasinformaticas  10 років тому +6

      Alejandro Castillo Hola !! El curso va a irse más allá de los 250 vídeos. Es un curso que ya he impartido de forma presencial pero nunca online y por eso no se exactamente cuántos vídeos me va a ocupar. La cifra que di al principio era estimada. A la pregunta de cuántos vídeos faltan para terminar la primera parte, la verdad es que no lo se pero puedo calcular que unos 75 u 80 más o menos.
      En cuanto a si recomiendo empezar a la vez otro curso la verdad es que depende de cada uno. Hay personas que tienen facilidad para asimilar código de programación y no tienen excesivos problemas a la hora de llevar varios cursos a la vez. otras personas les resulta muy complicado. Si tuviera que recomendar algo, diría que no hagas dos a la vez. primero uno y luego otro. A mi como profesor me cuesta cambiar el chip de un lenguaje a otro cuando imparto dos a la vez. imagino que al alumno le resultará aun más complicado (excepto portentos de la nza que alguno hay por aquí). Un saludo

    • @jorgeb2789
      @jorgeb2789 7 років тому

      Yo la verdad me metería a hacer el curso de phyton a la vez pero... cuantos más cursos esté metido mas lento avanzare en ellos, además ya tengo bastante con estar en primero de Universidad y estar estudiando Java cuando ni siquiera me examino de ello. (esque me aprendi C entero y me apetecía seguir aprendiendo).

  • @makish3131
    @makish3131 10 років тому +1

    Hola, me ha surgido una duda por tu explicacion sobre el minuto 14 en el que explicas como solucionar los errores en caso de importar dos paquetes que tienen un metodo con el mismo nombre y es importando el metodo del paquete especifico.
    No se si se puede llegar a dar el caso (ya me suelen decir que soy un poco rebuscado), pero ¿Que ocurre si necesito utilizar los dos o mas? es decir, que necesite utilizar javax.swing.Timer; y javax.util.Timer.
    ¿Hay formas o es incompatible?
    pd. System.exit(0); no es necesario para finalizar el programa, al aceptar ya finaliza.
    Saludos,

    • @pildorasinformaticas
      @pildorasinformaticas  10 років тому +8

      Antoni sacristan martinez Hola !! En ese caso concreto no queda más remedio que utilizar el nombre completo del paquete con todos los nombres de la clase, es decir:
      javax.swing.Timer temporizador=new Timer();
      javax.util.Timer temporizador2=new Timer();
      Esta es la única forma que tiene el compilador de diferenciar las dos clases. Si hubiéramos importado los dos paquetes enteros (javax.swing.*; y javax.util.*) y hubiérmoas utilizado la clase Timer sin más, daría un error de complación al no saber el compilador a qué clase Timer nos referimos.
      Un saludo

  • @__AndresGarcia
    @__AndresGarcia 7 років тому +1

    Tengo una duda, por que al momento de utilizar el metodo start( ) lo utiliza como si fuera statico para iniciar mitemporizador si en la API de JAVA dice que solo es void..

    • @1688amg
      @1688amg 7 років тому +1

      andres garcia hola en el ejercicio no aparece como estático o sea no dice Timer.start ()
      Dice el objeto mitemporizador.start ()

    • @__AndresGarcia
      @__AndresGarcia 7 років тому +1

      Gracias..

  • @frey.o.o
    @frey.o.o 7 років тому +1

    Juan hola, observo que montaste un curso de JavaSE en UDEMY. he llegado hasta el video 50 en este canal y quisiera saber si hay diferencias en los videos montados en la plataforma UDEMY con los de UA-cam. Muchas gracias.

    • @pildorasinformaticas
      @pildorasinformaticas  7 років тому +2

      En los vídeos no hay grandes diferencias, excepto que en Udemy no voy a hablar de Applets porque están obsoletos, y si lo haré por ejemplo de Java FX además de mencionar alguno que otra novedad. La diferencia fundamental es que el curso de Udemy va con ejercicios prácticos por cada tema, test de evaluación y documentación PDF acompañando al curso. Un saludo!!

  • @chiuvi4
    @chiuvi4 8 років тому +1

    Muy buenas las explicaciones de los videos!! queria preguntar si afecta de alguna manera el rendimiento del programa si solo se importan las clases especificas de los paquetes que se usaran en ves de importar el paquete entero, del cual talvez usare 1 o 2 clases.
    Saludos

    • @pildorasinformaticas
      @pildorasinformaticas  8 років тому +1

      No, no afecta. Estás consumiendo más recursos, pero es un gasto que no mermará el rendimiento de tu programa. Un saludo!!

  • @sanchezherreraarmandoeduar6631
    @sanchezherreraarmandoeduar6631 3 роки тому

    Disculpe profesor, estoy realizando el código tal como usted, pero presento un error, en la linea: class DameLaHora implements ActionListener me sale el error de que la clase DameLaHora debe de ser abstracta pero si la modifico asi, cuando instancio oyente me sale error de que al ser abstracta no puede ser instanciada. ¿Qué puedo hacer?. Si le sirve de dato estoy trabajando con NetBeans 8.2

    • @VICTORZITOSS
      @VICTORZITOSS 2 роки тому

      Llego tarde pero si te queda la duda mira a ver si escribiste actionPerformer en vez de actionPerformed dentro de la clase.

  • @claudiomendieta
    @claudiomendieta 6 років тому

    Al sobreescribir el método actionPerformed() me pide obligatoriamente que ponga encima del método un texto: @Override
    No se si esto es nuevo para la versión que estoy usando, pero en el vídeo se ve que no fue necesario colocar este texto. Un saludo!!

  • @eduato_yt
    @eduato_yt 4 роки тому +1

    17:26 veo que otra solucion puede ser poniendo esto:
    javax.swing.Timer miTemporizador = new javax.swing.Timer(5000, oyente);

  • @franciscomayamarin4560
    @franciscomayamarin4560 8 років тому +1

    buenas prof. se quie el video es algo viejo pero e seguido el curso y tengo un duda yo hago todos lo procedimientos en el codigo del temporizador pero a la hora de ponerlo en funcionamiento mi eclipse no me arroga ningun resultado, pregunto sera algun problema del eclipse ?, el codigo es este
    codigo:
    package poo;
    import javax.swing.*;
    import java.awt.event.*;
    import java.util.*;
    import javax.swing.Timer;
    public class Pruebatemporizador {
    public static void main(String[] args) {

    DameLaHora oyente=new DameLaHora();
    Timer mitemporizador =new Timer(5000, oyente );
    mitemporizador.start();
    }
    }
    class DameLaHora implements ActionListener{

    public void actionPerformed (ActionEvent e){
    Date ahora=new Date( ) ;
    System.out.println("Te pongo la Hora Cada 5 Seg: "+ ahora);
    JOptionPane.showInternalMessageDialog(null,"Pulsa aceptar para Detener");
    System.exit(0);
    }

    • @pildorasinformaticas
      @pildorasinformaticas  8 років тому +1

      El código de tu programa no es igual que el código del programa del vídeo. Si te fijas, en el vídeo la instrucción JOptionPane.showMessageDialog se encuentra en el método main y no en la clase de la interfaz. Un saludo!!

  • @COMINO628
    @COMINO628 7 років тому

    Hola!
    Tengo la siguiente duda: Jugando con los tiempos del timer, me percate de que si colocas un tiempo muy pequeño, por ejemplo 500, el programa sigue en ejecución varios segundos después de que diste ok en la ventana emergente, ni hablar de un tiempo sumamente pequeño de 50, pues se queda en ejecución durante mas tiempo. ¿esto a que se debe? Saludos!

  • @jairodanielsamaniegovillac7280
    @jairodanielsamaniegovillac7280 8 років тому

    Disculpa por qué usas System.exit()?, noté q no hay ninguna diferencia si no lo pongo, podrias explicarme cual es el motivo del uso de ese metodo?

  • @martinbenitez6093
    @martinbenitez6093 4 роки тому

    Hola a todos, alguien sabe porque me pide implementar un @override sobre el metodo acctionPerdormed de la clase DameLaHora?

  • @javigarsan
    @javigarsan 8 років тому

    Hola de nuevo.
    Tras ver vídeo me surgen dos dudas que paso a planteart:
    1.- No entiendo para que sirve la última instrucción que hemos puesto System.exit(0); ya que como tú mismo explicaste en el vídeo, tenemos que poner en mensaje con la clase JOptionPane para evitar que el programa finalice por sí solo. Yo lo he probado sin esta instrucción y me funciona exáctamente igual. Entonces ¿Cuál es su finalidad?
    2.- Cada vez que se ejecuta el temporizador, llamamos al procedimiento actionPerformed de nuestra clase DameLaHora. En este procedimiento lo primero que hace es crear un objeto de tipo Date, que se queda ahí. A los 5 segundo se vuelve a ejecutar el procedimiento y vuelve a crear otro objeto Date, a los 5 segundos otro, y a los 5 segundos otro. ¿Estamos ocupando cada 5 segundo espacio en memoria que tras muchas ejecuciones pudiera causar un desbordamiento de la memoria? o ¿Al finalizar el procedimiento actionPerformed se libera la memoria de todos los objetos creados en el mismo? Supongo que esta será la respuesta, pero te agradecería que me la confirmases.
    Muchas gracias.

  • @kulltallas
    @kulltallas 8 років тому +5

    Buenas, te doy otra vez las gracias por este pedazo de curso.
    Tengo un "problema" y es que estoy haciendo anotaciones tipo //al lado de los códigos que vamos viendo y ,como tengo el background de Eclipse en negro para que la vista no sufra tanto con el blanco, el color de dichas anotaciones se hace casi imperceptible con el fondo negro.
    Mi pregunta es: ¿Qué parámetro de color tengo que modificar para cambiar el color de las anotaciones?
    Ya sé cómo se llega a la ventana de colors and fonts. Lo único que me falta es saber qué nombre, de todos los que hay, es el que corresponde a los comentarios.(Hasta la fecha no he podido dar con la tecla ;-))
    Gracias de antemano.
    Salu2

    • @pildorasinformaticas
      @pildorasinformaticas  8 років тому

      Pues no tengo idea. Me acabo de meter a buscarlo y veo como cambiar el color de todo menos los comentarios. Es algo que nunca tuve necesidad de cambiarlo. A ver si alguien que lea esto te puede orientar

    • @kulltallas
      @kulltallas 8 років тому

      Muchas gracias por las molestias, profesor.

    • @federicomarini6413
      @federicomarini6413 7 років тому

      no se puede

    • @c4rlos96
      @c4rlos96 7 років тому +4

      Aquí está: stackoverflow.com/questions/6991224/changing-color-of-comments-in-eclipse

    • @fernandocarlos9477
      @fernandocarlos9477 7 років тому

      Carlos M, gracias, duré buscando en eclipse todo un día.

  • @federicofaiella4240
    @federicofaiella4240 7 років тому

    hola, disculpame, timer espers recibir un valor numerico y una interfaz, vos le pasaste una clase, en el ejemplo, pero esta clase implemente una interfaz, y seria su interfaz padre, la clase hereda de esta interfaz, por asi decirlo. y en java es posible asignar un objeto x a otro objeto de una clase, interfaz, siendo este ultimo objeto la clase padre de x, estoy en lo sierto?? como se llama esa propiedad de poder asignar un objeto a otro, siendo este otro un objeto de su clase padre??

    • @gerardocabello9878
      @gerardocabello9878 3 роки тому

      Un poco tarde hermano .. pero el concepto se llama POLIMORFISMO.. puedes estudiar un poco más sobre el. Espero te sirva

  • @carlosquiros9702
    @carlosquiros9702 10 років тому +1

    Estimado profesor una consulta por favor, segun la definicion de interface, esta debe implementarse en una clase junto con todos sus metodos correcto?, como asi la interface ResultSet, que esta en la API de JAVA, no requiere de ser implementada en todos sus metodos? y que son bastantes!. y tampoco en las clases que la utilizan se necesita colocar implements y por otro lado se puede instanciar como cualquier objeto de una clase, es decir en la practica es mas una clase que una interface, pero en la documentacion de la API figura como interface?, me podria aclarar el tema por favor?, muchas gracias por su respuesta de antemano. Saludos,

    • @pildorasinformaticas
      @pildorasinformaticas  10 років тому

      CARLOS QUIROS Hola !! ¿Y quién dice que no necesita implements ni definir todos sus métodos? Porque yo cuando creo una clase que implementa ResultSet, Eclipse me pide redefinir todos sus métodos que como bien dices son unos cuantos.
      ¿Qué editor Java estás utilizando? ¿Podrías copiar y pegar aquí tu programa para poder echar un vistazo a esto que dices?
      Un saludo

    • @carlosquiros9702
      @carlosquiros9702 10 років тому

      pildorasinformaticas Estimado profesor le adjunto un pantallazo que es una parte de mi proyecto, hay un metodo del tipo ResultSet pero la clase no necesita la palabra implements y solo he cargado el paquete correspondiente de implementacion import java.sql.ResultSet;, es decir como una clase que importo no como interface, es una clase abstracta si. Ahora revisando los metodos este tiene como unos 50!!!, le adjunto el link docs.oracle.com/javase/7/docs/api/java/sql/ResultSet.html

    • @carlosquiros9702
      @carlosquiros9702 10 років тому

      Me puede indicar un correo o como colocar el pantallazo porque por aqui al parecer no se puede. Por favor tambien si pudiera me indica una respuesta a mi inquietud de imprimir en java sin los componentes graficos de swing, solo el texto que puedan contener. Muchas gracias. Saludos.

    • @carlosquiros9702
      @carlosquiros9702 10 років тому +1

      Disculpe olvide comentarle que el IDE con el que trabajo es NetBeans 8.02, gracias!

    • @pildorasinformaticas
      @pildorasinformaticas  10 років тому

      CARLOS QUIROS Ok, copia y pega el código de tu programa aquí mismo o envíalo a cursos@pildorasinformaticas.es
      Un saludo

  • @tfendo
    @tfendo 7 років тому +1

    Una duda algo rebuscada. En un vídeo dijiste que un problema de la herencia múltiple es que varias clases podían tener un método con el mismo nombre pero con distinta funcionalidad, y que al llamar a uno de esos métodos en la subclase se generaba un error, porque el programa no sabía a cual de las dos clases padre dirigirse para encontrar el método.
    ¿Eso mismo no puede ocurrir con las interfaces? Porque aunque el método no esté definido en la interfaz, si se implementan en una clase dos interfaces que contienen(cada una) un método abstracto con el mismo nombre, y estos se definan con distinta funcionalidad, habrá un conflicto al llamar a uno de esos métodos y java no sabrá a cual de ellos dirigirse.
    ¿Esto es así?
    PD: Si tu creas las interfaces ya tendrás cuidado de que esto no pase, pero supongo que podrá pasar si implementas interfaces predefinidas de la API.
    Enhorabuena por el canal, eres un crack.

    • @pildorasinformaticas
      @pildorasinformaticas  7 років тому +2

      Gracias por el comentario. En ese caso concreto que comentas, solo se implementa el método de la primera interfaz. Es decir, en el siguiente ejemplo:
      public interface Primera {
      public void metodo1();
      }
      public interface Segunda {
      public void metodo1();
      }
      class Clase1 implements Primera, Segunda{
      public void metodo1() {
      }
      } // En este caso metodo1() pertenece a la interfaz Primera pero si implementamos en otro orden, es decir, así:
      class Clase1 implements Segunda, Primera{
      public void metodo1() {
      }
      } // En este caso metodo1() pertenece a la interfaz Segunda.
      Un saludo!!

    • @tfendo
      @tfendo 7 років тому

      ok, entendido. Gracias

    • @NFTGamesAndTrades
      @NFTGamesAndTrades 7 років тому

      Solo para recordar, si lo aplicamos para clases y subclases en herencia que tengan mismos nombres de los métodos, tanto la clase padre como la subclase, a la hora de ejecutar el código el compilador dependiendo del contexto del programa, java si que sabe a que método acceder, eso le llamamos enlazado dinámico. :D
      Posdata: Juan no me olvidado de tu canal, de hecho desde el video 36 hasta 54 he estado masticando bien los conceptos, desde luego un saludo desde Colombia.

  • @SlamCraft360
    @SlamCraft360 9 років тому +2

    profesor me sale un error en la classe justo en DameLaHora y en ActionEvent e le dejare lo que llevo
    package poo;
    import javax.swing.*;
    import java.awt.event.*;
    import java.util.*;
    import javax.swing.Timer;
    public class PruebaTemporizador {
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    DameLaHora oyente=new DameLaHora();
    Timer mitemporizador=new Timer(5000, oyente);
    mitemporizador.start();
    JOptionPane.showMessageDialog(null, "Pulsa Aceptar para detner");
    System.exit(0);
    }
    }
    class DameLaHora implements ActionListener{
    public void actionPerformed(ActionEevent e){
    Date ahora=new Date();
    System.out.println("TE PONGO LA HOR CADA 5 SEGUNDOS" + ahora);
    }
    }

    • @pildorasinformaticas
      @pildorasinformaticas  9 років тому +2

      Forever Young Hola !! ¿Cómo has escrito el método public void actionPerformed.....? Tienes un error de sintaxis
      Un saludo

  • @joandoen
    @joandoen Рік тому

    Se me presentó un problema en este ejemplo, me pide que la clase DameLaHora sea static, no entiendo porque en el ejemplo no te lo pide, porque si no le pongo el modificador también me da error.

  • @mugatu2017
    @mugatu2017 4 роки тому +1

    tambien se hubise podido hacer utilizando "centinellas" que rompan el flujo del programa

    • @jorgemeza4364
      @jorgemeza4364 4 роки тому

      meter dentro todo dentro de un While no?

  • @astridbompart3394
    @astridbompart3394 8 років тому +1

    Me gustó mucho esta clase, entendí todo excelente solo que tengo una pequeña duda, een el metodo actionPerformed no se que se hace con la variable que nunca se utilizó en el programa o por lo menos no me di cuenta cuando la usamos. Aquí esta el codigo, por si tiene algun momento para echarle un ojo! Gracias por sus clases y saludos!!
    package poo;
    import java.awt.event.*;
    import java.util.*;
    import javax.swing.*;
    import javax.swing.Timer;
    public class PruebaTemporizador {
    public static void main(String[] args) {
    // TODO Auto-generated method stub
    DameLaHora oyente=new DameLaHora();
    //ActionListener oyente=new DameLaHora();
    Timer miTemporizador=new Timer(5000, oyente);
    miTemporizador.start();
    JOptionPane.showMessageDialog(null, "Pulsa Aceptar para detener");
    System.exit(0);
    }
    }
    class DameLaHora implements ActionListener{
    public void actionPerformed(ActionEvent e){
    Date ahora= new Date();
    System.out.println("Te pongo la hora cada 5 sgs: " + ahora);
    }
    }

    • @1688amg
      @1688amg 7 років тому +1

      Astrid Bompart hola la llamada de la interfaz se guarda en el objeto oyente bahh no se guarda sino que al crear el objeto oyente como damehora ya poniendolo en el segundo parâmetro de Timer hace que al ejecutar el main y encontrarse con oyente y vê que es de tipo damehora busca damehora y ejecuta esa clase al poner start

  • @edgardocc80
    @edgardocc80 7 років тому +1

    hola todos una pregunta alguien sabe en donde se cambia el fondo de la ventana de sugerencias que asoma, yo lo tengo en negro y letras azules y me cuesta leer, ya entre a preferencias y altere todo lo que pude pero no he conseguido cambiar o dar con esa propiedad de esta ventana gracias

    • @pildorasinformaticas
      @pildorasinformaticas  7 років тому

      Pues si en preferencias no has podido cambiarlo, la verdad no lo se.

    • @edgardocc80
      @edgardocc80 7 років тому +1

      gracias y felicitaciones por los videos de todos los que han dado tutoriales de java tus videos son buenos te tomas el tiempo de explicar y de enseñar sigue adelante

  • @lamug
    @lamug 7 років тому

    Entonces la clase Timer puede ser como addEventListener de Javascript?

  • @armandopenaleonett1258
    @armandopenaleonett1258 8 років тому +2

    el paquete por defecto no es java.lang ?

    • @pildorasinformaticas
      @pildorasinformaticas  8 років тому +2

      Así es. ¿Dije algo diferente en algún momento? A veces uno se equivoca.... Si es así dime minuto y segundo para introducir una anotación correctora. Un saludo!!

    • @armandopenaleonett1258
      @armandopenaleonett1258 8 років тому +1

      en el minuto 3:30 por ahi ha dicho que el paquete por defectoe es java.util, ahora que tengo cierta certeza que me leera aprovecho para agradecerle sinceramente por su canal muchas gracias señor siga asi

  • @mariotorres4689
    @mariotorres4689 8 років тому +3

    Profesor pildorasinformaticas, podría hacer un vídeo de expresiones lambda o en todo caso si ya tiene una me podría decir en qué vídeo esta? muchas gracias sus vídeos complementan lo adquirido en clase.

    • @pildorasinformaticas
      @pildorasinformaticas  8 років тому +1

      No lo tengo. Gracias por la sugerencia Espero poder meterlo por ahí. Un saludo!!