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

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

КОМЕНТАРІ • 281

  • @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 8 місяців тому +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.

  • @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:

  • @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é.

  • @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.

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

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

  • @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 !!

  • @negroplatino8177
    @negroplatino8177 3 роки тому +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.

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

    Sencillamente el mejor profesor que he podido ver

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

    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.

  • @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!!

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

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

  • @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.

  • @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.

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

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

  • @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.

  • @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

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

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

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

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

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

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

  • @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

  • @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.

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

    Gracias por el curso cada día aprendo mas ;

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

    Excepcional, Gracias, Maestro.

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

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

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

    Ecxelente!!! Muchas gracias. :)

  • @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

  • @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.

  • @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

  • @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!!

  • @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.

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

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

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

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

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

    Genio!!!!!!!!!!

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

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

  • @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.

  • @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.

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

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

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

    Gracias cx. Me gustó mucho.

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

    Muchas gracias.

  • @franciscobarrachinablanco9129
    @franciscobarrachinablanco9129 9 років тому +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  9 років тому

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

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

    Excelente

  • @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

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

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

  • @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!!!

  • @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.

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

    Genial mil gracias

  • @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? 😅

  • @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 😵

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

    Gracias. Chévere 🍌2024!!!

  • @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

  • @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.

  • @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?

  • @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!!

  • @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

  • @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).

  • @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

  • @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.

  • @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!!

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

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

  • @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.

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

    Primero que nada gracias por los videos, son de mucha ayuda y se le agradece su tiempo y dedicación. Quisiera hacer una pregunta ya que me quedo una duda. Si se supone que el programa se ha detenido en la linea que esta la instruccion JOptionPane.showMessageDialog(null,"pulsa aceptar para detener") , mi pregunta es. ¿Porque se sigue imprimiendo la hora cada 5 segundos? si se supone que el programa se ha detinido.

  • @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)

  • @makish3131
    @makish3131 9 років тому +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  9 років тому +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

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

    28/04/2020 ahi vamo

  • @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

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

    21:29 while(true);

  • @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!!

  • @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.

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

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

  • @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.

  • @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!!

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

    Entonces la clase Timer puede ser como addEventListener de Javascript?

  • @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!

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

    cool

  • @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

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

    Hola Juan, eres un maestra-so explicando! Gracias. Tengo una duda no se por que me sigue saliendo error cuando creo la clase DameLaHora y el método actionPerformed? Lo tengo igual como lo has echo y lo he revisado varias veces letra por letra y me sale ese error, alguna solución?

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

      Copia y pega por aquí todo tu código para ver si localizo el posible error. Un saludo!!

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

      Gracias por responder, pero y se soluciono no se si es la IDE que falla, ayer no me sirvió y eso que cerraba eclipse y volví abrir y nada. y ahora que enciendo el pc y lo inicio ya no me sale ningún error, gracias igualmente.

  • @carlosquiros9702
    @carlosquiros9702 9 років тому +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  9 років тому

      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 9 років тому

      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 9 років тому

      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 9 років тому +1

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

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

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

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

    Hola pofesor, estoy siguiendo su curso y me ha sido realmente de mucha ayuda. tengo un problema (espero pueda ayudarme), es que precisamente al importar la clase javax.swing no me aparece la clase Timer es decir que si coloco javax.swing y luego el punto no me sale Timer entonces el programa nunca me reconoce el timer. como puedo resolver ese problema? estuve pensando que tengo que instalar de alguna manera la clase timer pero en realidad no se como. de antemano muchas gracias.
    Saludos desde Santiago de Chile.

  • @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 !

  • @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?

  • @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.

  • @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

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

    Lo tengo igual sin embargo me dice que el constructor timer esta sin definir pero en este video no marca ningun error.

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

      realiza una captura de pantalla del video y fijate linea por linea que esta mal definido o te falta en tu archivo o si queres te mando una captura de mi archivo

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

      Me pasa lo mismo, tengo el código exacto pero marca un error: El constructor Timer is undeffined

  • @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

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

    Hola profesor Juan, tengo un par de dudas, entonces aunque puedan existir Clases con el mismo nombre en diferentes paquetes, en un mismo programa no se pueden usar verdad?
    Y la otra, me gustaría saber por qué se usa la clase Date, si ya existe la clase GregorianCalendar, no he estudiado mucho las dos, pero se ve mucho más completa GregorianCalendar

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

      Con la clase GregorianCalendar asignamos una fecha por cuenta propia, ya que usamos tres parámetros de tipo entero: GregorianCalendar Calendario = new GregorianCalendar(year, month - 1, day); después de esa instancia le asignamos a la variable fecha lo siguiente: Date fecha = Calendario.getTime(); y así obtuvimos cualquier fecha que se haya pasado (sin hora). En lugar de lo que hemos hecho aquí, ya que vemos la fecha y hora actual con solo llamar al constructor vacío de Date.

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

    Access restriction: The type Timer is not accessible due to restriction on required library C:\Program Files\Java\jre1.8.0_131\lib
    t.jar
    Access restriction: The type Timer is not accessible due to restriction on required library C:\Program Files\Java\jre1.8.0_131\lib
    t.jar

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

      Ese error seguramente te salga porque has actualizado Java hace poco y no le has dicho a Eclipse que utilice la nueva JRE. Quizá este link (en inglés) te ayude: stackoverflow.com/questions/860187/access-restriction-on-class-due-to-restriction-on-required-library-rt-jar
      Un saludo!!

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

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

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

    Oye amigo, te quiero comentar algo que note en tu curso, en ves de seleccionar el icono de error en la consola del programa de tu clase para crear automaticamente el metodo lo creas tu haci que me preguntaba si hay algun problema en hacerlo asi? espero que no lo haya porque siempre lo hago asi, en fin gran curso amigo

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

    buenos dias profesor.
    aqui estamos con la clase de hoy.
    una pregunta. en el minuto 17, cuando estas hablando de que hay conflicto porque hemos importado dos paquetes enteros, al poner el *, y como hay una clase llamada TIMER en los dos paquetes, al importarlos enteros, pues java no sabe a cual de las dos debe elegir. ok
    entonces, dices: importo en lugar de todo el paquete, solo la clase especifica y listo, ........... ok
    y entonces haces:
    import java.swing.TImer;
    pero no deberiamos borrar la otra linea? : import java.swing.*;
    lo digo porque, es cierto que importas concretamente el Timer, pero si no boramos la linea del *, continuas importando todo el paquete, con lo que deberia haber conflicto no?? porque sigues importando el paquete completo del swing y el del util.
    o es qeu al escribir la linea java.swing.Timer, ya siempre escoge esa, aunque tengamos otro paquete con otra clase que se llama igual?? la ignorará???
    EDITO:SOLUCIONADO
    ya he leido la solucion en otro comentario. (y por otro lado, si quisieramos por lo que sea, utilizar mas adelante la otra clase TImer, ( la del paquete util, por ejemplo) eso se podria hacer?? imagino qeu si, aunque eso no esta explicado, supongo que ya saldra mas adelante ( es simple curiosidad que he pensado mientras estudiaba) )
    muchas gracias por tu ayuda.
    una ultima duda: crees qeu deberia seguir con esto, o es mas facil y hago primero el curso de html5 y javascript?? podrias poner un video orientandonos paa decirnos a los novatos: empezar pro aqui, luego hacer este curso...... para ir un poco en orden , porque igual empezar con java a saco nos hace explotar la cabeza.
    una vez mas, mil gracias y continuo estudiando

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

      Hola !! Empiezo por el final: los cursos de mi canal no están relacionados entre sí. Es decir, unos cursos sirven para unas cosas y otros cursos para otras diferentes. Tengo cursos para programar en Java, cursos para crear páginas web, cursos para aprender ofimática... Antes de decirte por cuál empezar deberías decirme qué quieres aprender o hacia dónde quieres orientarte. Puede ser que me digas que quieres aprender "informática en general"; en ese caso te diría que empezaras por ofimática (Excel, Access...), después siguieras con diseño web y terminaras con Java.
      El curso de Java es exigente. Son muchos vídeos y requiere de una constancia que sólo podrás tener si te gusta la programación. En fín, lo dejo en tus manos. Un saludo!!

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

      muchas gracias.
      lo que quiero es aprender a hacer aplicaciones para moviles.
      por otro lado: no me has contestado a la pregunta que te hacia mas arriba. creo que puede ser porque he puesto un EDITADO: SOLUCIONADO y eso induce a error. lo que esta solucionado es lo que pone en el mismo parrado del "EDITADO", es decir, ya se que hacer cuadno quiere usar dos clases llamadas igual de distintos paquetes, pero lo que no tengo aun claro es lo que te planteo al principio del comentario, es decir esto ( hago un copy/paste) :
      buenos dias profesor.
      aqui estamos con la clase de hoy.
      una pregunta. en el minuto 17, cuando estas hablando de que hay
      conflicto porque hemos importado dos paquetes enteros, al poner el *, y
      como hay una clase llamada TIMER en los dos paquetes, al importarlos
      enteros, pues java no sabe a cual de las dos debe elegir. ok
      entonces, dices: importo en lugar de todo el paquete, solo la clase
      especifica y listo, ........... ok
      y entonces haces:
      import java.swing.TImer;
      pero no deberiamos borrar la otra linea? : import java.swing.*;
      lo digo porque, es cierto que importas concretamente el Timer, pero si
      no boramos la linea del *, continuas importando todo el paquete, con lo
      que deberia haber conflicto no?? porque sigues importando el paquete
      completo del swing y el del util.
      o es qeu al escribir la linea java.swing.Timer, ya siempre escoge esa,
      aunque tengamos otro paquete con otra clase que se llama igual?? la
      ignorará???
      muchas gracias, y continuo estudiando

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

      Hola de nuevo. A ver: si importamos los dos paquetes enteros, hay conflicto porque tenemos la clase timer en los dos paquetes. Pero si importas solo la clase con import.java.swing.timer, también hay conflicto ya que sigues teniendo las dos clases: una por parte del paquete util y otra la que acabas de importar con import.java.swing.timer. La solución en estos casos pasa por mencionar explícitamente en el código la ruta del paquete al utilizar la clase, por ejemplo: java.swing.Date fechaLimite = new java.swing.Date (....);
      Un saludo!!

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

    Buen video sigo todos sus videos profesor, pero una pregunta porque me sale error en mi clase DameLaHora.... :/ y lo ejecuto y nada sale error solo cuando borro el implements ActionListener deja de salir error en el nombre de mi clase (utilizo netbeans 8.1).
    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();
    JOptionPane.showMessageDialog(null,"Pulsa aceptar para detener");
    System.exit(0);
    }
    }
    class DameLaHora implements ActionListener{ //aqui me sale error en el nombre de mi clase...
    public void ActionPerformed(ActionEvent e){
    Date Hora=new Date();
    System.out.println("te pongo la hora cada 5 segundos: "+Hora);
    }
    }

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

      Hola !! El método actionPerformed es con "a" minúscula". Un saludo!!

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

  • @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.

  • @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!!