Curso Java. Aplicaciones gráficas. Swing II. Colocando el Frame. Vídeo 56

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

КОМЕНТАРІ • 191

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

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

  • @accesojaps
    @accesojaps 4 роки тому +17

    Hasta aquí llevamos visto 20% del curso, VAMOS!!!

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

    Cada dia aprendo algo nuevo de java y cada dia me entran mas ganas de seguir el curso y eso no lo he conseguido con otros cursos de otra gente ,gracias

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

    Hola Juan ...Todo genial....sin palabras para describir la ayuda que nos das

  • @felipgp7677
    @felipgp7677 9 років тому +45

    Hombre...Sin duda alguna el mejor curso de java de habla Hispana. Un saludo

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

      +Phil lip Hola !! Muchas gracias !! Un saludo

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

      el unico curso en el que las visitas son constantes en todos los videos y no como en los demas que solo el primer video xD

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

      @@israelcruz6068 Programación ATS

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

      @@abc13deagosto Programación ATS hay que pagar para ver todo el curso de Java, en este por lo menos el asunto es gratuito de cabo a rabo

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

    Es el mejor tutorial de Java que he visto nunca, gracias por tu esfuerzo.

  • @buyita04
    @buyita04 Рік тому +3

    Me está encantando el curso, es increíble, me hubiese gustado tenerte como profesor en la universidad, muchas gracias desde Argentina!

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

    Estoy muy agradecido a la persona que realiza estos cursos de tan buena calidad.
    Gracias Juan.

  • @josuevilla4425
    @josuevilla4425 8 років тому +24

    Este es el mejor curso de Java que he encontrado. ¿217 videos?, ¡wau! es increible. más cursos de esta calidad por favor. Saludos desde México c:

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

      Son 217 de momento. Este curso se encuentra en elaboración. Espero que te guste. Un saludo!!

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

      No sabe cuanto me motiva escuchar eso. Muchas gracias :´)

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

    Este curso es un lujo, y gratis.

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

    El mejor curso de programación Java de la historia, de verdad muchas gracias.

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

    Definitivamente me cambié al entorno Eclipse, se me ha hecho mucho más sencillo siguiendo tu curso usando esta plataforma, me he apoyado en manuales en pdf, he visto otros canales pero francamente ninguno como tus siempre claras, concisas explicaciones! muchas gracias por la oportunidad de "nadar" en el mundo de Java, saludos!

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

    Se me ocurrió poner "this" dentro del constructor miMarco y aparece el asistente con toooodos los métodos y demás cosas que se pueden usar. Está bueno para ir jugando con las opciones.
    Excelente el curso! Gracias.

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

    Muchas gracias por estos vídeos, me estás ayudando mucho! Se agradece que el curso sea tan detallando

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

    Me gusta, explicación clara, básica justo para ir desarrollando habilidad en este entorno de Swing que como veo es de lo más útil y extenso de Java.
    Gracias por los vídeos +pildorasinformaticas, aquí seguimos como un seguidor más.
    Con ganas de que continues estés curso a lo máximo y ojalá en un futuro tenerte de profesor en un Curso de ANDROID. Que nos permita desarrollar todo lo aprendido.
    Saludos juan

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

      +juanpamontoyav Hola !! Gracias por el comentario. Es mi intención comenzar un curso de Android cuando este de Java esté finalizando, aunque aún queda un poco para eso. Un saludo

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

      Si lo se, y lo agradezco eres un gran Maestro!.
      sin prisa que con Java tengo mucho tiempo para dominarlo jeje. saludos

  • @maurotorresmio3679
    @maurotorresmio3679 5 років тому +3

    Según la API, el método setResizable pertenece a la clase Frame y JFrame lo hereda.GRACIAS por el curso tan completo, un abrazo a la distancia.

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

    Gracias profesor Juan, por compartir rstos conocimientos, ahora comprendo como juega el plano aqui en programacion en java especificamente, algo que me costo un poco mas comprender, sin duda alguna el mejor profesor en linea, saludos y muchas gracias!

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

    Muchas gracias , excelente curso
    Saludos desde Argentina

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

    Muchas gracias por el video Profesor Juan!!!

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

    dejo que termine todas las publicidades del tus video , a si para que ganes plata y es mi forma de pagar tus excelentes videos y no te desanime

  • @Dj-jose-vi2.0
    @Dj-jose-vi2.0 8 років тому +5

    desde las 5 de la madrugada. Excelente. Muy fácil de entender.

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

      +José Vinaches ¿Te entra el código a esas horas?? :) Un saludo

    • @Dj-jose-vi2.0
      @Dj-jose-vi2.0 8 років тому +3

      Soy un enamorado de la programación y cualquier hora es buena.♥

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

      José Vinaches laa 5 am la mejor hora para que entre sin estar con eo agetreo del dia😅😅😅

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

    Ayudando a muchas generaciones con sus vídeos, gracias por su contenido, Saludos desde México

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

    Por qué no te encontré antes!! El mejor sin duda alguna

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

    De verdad eres el mejor enserio (y) mis respeto y ojala sigas para traer mucha alegría a muchos futuros programadores :D Gracias

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

    Excelente, como todas sus clases

  • @muraklaproduce
    @muraklaproduce 10 років тому +9

    Muy completa la clase!
    Muchas gracias maestro. Saludos Desde Venezuela

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

    Eres todo un crack, gracias por tu gran aporte a la sociedad.

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

    Con lo que me costó cojer el rollo de la X y la Y en el curso de CSS avanzado, y lo fácil y claro que lo he pillao ahora.
    Muy bueno...como todos.

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

      Juanito elchispa Puede que el que te habla en los vídeos esté unos días mas inspirado que otros...

    • @juanitoelchispa6492
      @juanitoelchispa6492 10 років тому +3

      pildorasinformaticas
      Será eso Juan, no fué tan cruel como las Herencias...(que por cierto todavía sigo), pero me costó lo suyo lo de la X y laY.
      Un saludo y gracias de nuevo.

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

    David Jose: Gracias por seguir mis vídeos. Un saludo

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

    Excelente; ¡ que claridad de explicación !.
    Muchas gracias
    avalderrama

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

    Chévere 🍌 2024!!! Gracias Juan x este excelente trabajo!!! Ojalá puedes sacar una serie sobre las certificaciones JAVA con su debido roadmap... Gracias. Os invito un café si llegas a venir a Vigo...

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

    Muchas Gracias por Esta clase Profesor Juan. Estaré Presente en la otra Clase. Buen día y en hora buena. Hasta luego

  • @Alessandro-oz6iw
    @Alessandro-oz6iw 6 років тому +5

    Hermoso verdaderamente hermoso este curso.

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

    Como siempre genial, gracias Juan por tus videos, me han hecho aprender muchisimo mas que con mi profesor de programacion de FP xD.
    Solo un apunte por si a alguien mas le pasa. En el minuto 13:00 (mas o menos) se usa el metodo setExtendedState() que recibe una constante pero a mi por lo menos (por mi version de java supongo) no me funcionaba poniendo Frame.MAXIMIZED_BOTH como si le funciona a pildorasInformaticas, he tenido que poner J delante de Frame para que funcionara correctamente.

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

      A mi si me funciono y tengo la ultima version de Java

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

      lo de arriba x2

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

    los mejores videos aun en el 2020 Saludos ¡¡¡¡

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

    Excelente curso maestro Juan es más fácil de lo que creí jejeje. Saludos maestro :)

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

    Nadie explica de esta manera aplausos

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

    Entre tantos comentarios agradeciéndote quizás el mio este de mas, pero es que enserio siento la necesidad de decirte muchas gracias

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

    Excelente Juan!

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

    Sefora Martin: Gracias como siempre por tus valiosos aportes. Respecto a setLocationRelativeTo(null) no me preguntes por qué, pero parece ser según vi en su momento que no centra la ventana en todas las plataformas ( a falta de confirmación):
    stackoverflow.com/questions/3480102/java-jframe-setlocationrelativetonull-not-centering-the-window-on-ubuntu-10-0
    Un saludo

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

    Oscar Ballart, a mayor nº en eje X más abajo aparece el Frame. Si lo pones a 0 aparece arriba del todo. Si le pones un pequeño nº negativo en el eje Y verás como se pierde por arriba. Luego entonces eje Y positivo hacia abajo, eje Y negativo hacia arriba. Un saludo

    • @oscarbavi7886
      @oscarbavi7886 10 років тому +4

      ya me di cuenta ya, es porque java pilla como eje y positivo hacia abajo o porque lo habran definido asi. Pero cuando estudias Matematicas y la representacion de senos y cosenos el cuadrante con los dos ejes positivos es el derecho de arriba

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

      Oscar Ballart VIlella Correcto !!

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

      @@oscarbavi7886 Concuerdo contigo jajaj , estaba haciendome bolas

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

    gracias por el cursaso me ha sido de mucha ayuda

  • @camilomorenomontenegro6123
    @camilomorenomontenegro6123 4 роки тому +15

    saludos, para que la ventana que crees, se posicione en la mitad de tu pantalla(monitor) utiliza >> setLocationRelativeTo(null);

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

    Que bien explicado. impresionante.

  • @wageningen.
    @wageningen. Рік тому

    Juan Juan eres el número one one

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

    Eres muy bueno siempre he sido un apasionado de la programacion, te sigo hace mucho y cada vez aprendo mas cosas contigo, tambien siento curiosidad acerca del hacking si algun dia te animas de hacer videos sobre seguridad o algo relacionado con el hacking ETICO estaria muy bueno! SALUDOS

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

      Gracias por el comentario y por seguir mis vídeos. Me alegro de que te gusten. Tomo nota de tu sugerencia. Un saludo!!

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

    Me encanta como repites las cosas una y otra vez, así, a la decimoquinta vez por fin se me queda jajaja y no es ironía xD

  • @kevinsboboda
    @kevinsboboda 2 роки тому +1

    esto me recuerda al curso de css que hice una vez

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

    Cuando la próxima vez el médico me pregunte que si tomo algún medicamento, le diré que tomo píldoras informáticas.

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

    gracias por la clase

  • @rafaelcesar6656
    @rafaelcesar6656 9 років тому +3

    Show de bola, tinha umas coisas que não sabia e to apredendo muito, obrigado professor, partiu next class >>>

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

    Muy buenos videos, y muy bien explicados

  • @anaisabelsauramartinez8421
    @anaisabelsauramartinez8421 2 роки тому +1

    A 16/09/2022 las variables de estado a seleccionar en el setExtendedState no son static, por lo que se puede poner directamente, por ejemplo:
    setExtendedState(MAXIMIZED_BOTH);

  • @vloxomire
    @vloxomire 4 роки тому +4

    Con el Eclipse 4.17.0 cuando use el "setExtendedState(Frame.MAXIMIZED_BOTH);" me pedía q importase "import java.awt.Frame;".
    Pero usando el "setExtendedState(JFrame.MAXIMIZED_BOTH);" o el "setExtendedState(6);", funciona sin la necesidad de importar

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

      Lo mismo me pasó a mí. Así que use "setExtendedState(JFrame.MAXIMIZED_BOTH);" en vez de "setExtendedState(Frame.MAXIMIZED_BOTH);"

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

    Muchas gracias.

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

    ¡BUENISIMO!

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

    exelente curso Juan.
    yo siempre use setLocationRelativeTo(null); para centrar, es mas facil.

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

    7:53 , cuando en el eje de la ordenada (eje y) su valor es positivo ,se desplaza hacia arriba no hacia abajo (eso es de forma estandár, a menos que hayas dibujado en la recta vertical que y' es arriba & y abajo). Porque sino indicas eso en el dibujo se puede interpretar que la pantalla por defecto está ubicada en el IV cuadrante, lo cual es un error.
    Un saludo :)

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

      Hola !! Te invito a que hagas una prueba: pon valor negativo en el eje y, y nos cuentas hacia dónde se desplaza el Frame. Un saludo!!

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

      Yo hable de forma estándar en álgebra de como es. Que hayas expresado el plano cartesiano de esa forma es correcto siempre y cuando hayas marcado que y prima (la que tiene los negativos) es la recta vertical hacia arriba & la y hacia abajo es de los positivos.

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

      WTF que carajos con eso de que el positivo va hacia abajo que locura haha lo he intentado como sugieres y se me va hasta arriba que ni lo veo, que diferente al plano cartesiano hahaha. muy buenos tutos!!

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

      No se de que hablaras... pero en programacion siempre se sabe que el eje Y en negativo va hacia arriba, dado que 0 es la posicion estandar, en "positivo" siempre es hacia abajo. podra ser debido a que estamos tratando 2D, tal vez, si de 3D se tratase seria como lo dices. Pero recuerda que hablamos de un programa 2D y en tal caso asi es como funciona.

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

      Es así porque en los monitores se toma positivo hacia abajo.

  • @raquelh.c9409
    @raquelh.c9409 8 років тому +2

    Buenas tardes, lo primero de todo gracias por tus vídeos, me estan siendo de gran utilidad para aprender java en profundidad.
    Escribo porque creo que has puesto que los métodos setLocation y setBounds son de la clase Component, cuando en realidad son de la clase Window y lo mismo ocurre con setResizable que es de la clase Frame. (lo tienes puesto en el diagrama de clases con los métodos).
    Un saludo.

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

      Hola !! Sí, tienes razón. La confusión vino porque la clase Component tiene también método setLocation y setBounds. Pero en la cadena de herencia Window está más próxima que Component a JFrame. gracias por la aclaración. Un saludo!!

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

    AMO JAVA

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

    Si escribes Marco.setLocation(null).. te abre la ventana en el centro de la pantalla, solo faltaría darle las dimensiones adecuadas.

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

    Hola! en el min 12:50 se puede utilizar directamente la clase JFrame en lugar de Frame ya que la hereda, o esto me puede traer problemas? Muchas gracias por el tiempo que le dedica al curso, espero llegar pronto a los ultimos! Un saludo desde Cordoba, Argentina

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

      Gracias por el comentario. No recuerdo el modificador de acceso de las constantes de la clase Frame. Tendría que mirar la API. Pero pruébalo. Si te permite ejecutar el programa utilizando JFrame, entonces sin problemas. No tendría por qué dar problemas en el futuro. UN saludo!!

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

    Gracias, Crack.

  • @calexito9448
    @calexito9448 7 років тому +35

    Cada vez que abro un vídeo tuyo y dices "Hola, qué tal?" me viene a la mente la canción esa :,v soy el chico de las poesías

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

    Como extra me gustaría recomendarles SetSize para el tamaño de la ventana y el método SetLocationRelativeTo(null), este método hace que siempre aparezca en medio de la pantalla nuestro marco y así es mas fácil ya que solo pones el tamaño del marco y ya no necesitas setLocation o setBounds

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

    Profesor con el setExtendedState(Frame.MAXIMIZED_BOTH); Me permite expandir el JFrame a pantalla completa , no puedo poner tambien el setResizable para que mi JFrame quede como pantalla completa y que el usuario no pueda cambiarle el tamaño o que me recomienda hacer ?

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

    Muy bueno,,,,

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

    Hola Juan desde ya te felicito por tus cursos tengo un problema cuando ejecuto el frame el titulo me sale centrado y no a la izquierda al lado del icono a que se debe desde ya gracias saludos desde Argentina

  • @cokeDeToro
    @cokeDeToro 9 років тому +3

    56 vídeos ya!! se empieza a ver la luz jajaja

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

    Profesor, te felicito por la excelente forma como impartes las clases, realmente eres mejor que muchos profesores que conozco. Quiero que me resuelvas un pequeño problema respecto al vídeo 56. Cuando utilizo setTitle("Mi ventana"); me aparece el titulo en el centro de la ventana y no a la izquierda como en el vídeo. Utilizo windows y el IDE es Eclipse EE Developers 32 bits. Gracias de antemano por tu respuesta.

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

    exelente como siempre profesor tengo una duda un poco o muy fuera del tema espero me pueda ayudar.
    asi como es la api de java los demas lenguajes de programacion tienen algo parecido para consulta?
    por ejemplo yo uso visual basic y a veces tienes dudas en cuanto a sintaxis con los botones es imposible saberse las sintaxis de todos los botones habra algo parecido a la api de java que me pueda ayudar?
    espero no molestar con mis constantes dudas muchas gracias

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

      juan antonio rosas Hola !! Las dudas nunca son molestia. El problema es que cada vez sois más planteando preguntas y ya me resulta imposible atenderlas todas.
      Que yo sepa no existe una API como tal para Visual Basic, aunque puede que exista y no la conozca. Siempre que he necesitado consultar funciones o sintaxis de Visual, he recurrido a google directamente y después navegando por los resultados siempre he encontrado lo que buscaba.
      Lo más parecido quizás sea la web de MSDN. Pero hay que tirar del hilo para encontrar las cosas:
      msdn.microsoft.com/es-es/library/2x7h1hfk%28v=vs.90%29.aspx
      Un saludo

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

    Quiero agregar algo, para centrar una ventana me puse a pensar en una fórmula y me vine con ésto:
    Para poner la ventana en el medio de ambos ejes debo utilizar la resolución de la pantalla y restarle la de la ventana de su respectivo eje y dividirlo entre dos.
    Por ejemplo mi laptop tiene 1366 * 768, y la ventana es 400 * 400
    (1366 - 400) / 2 para el ancho
    (768 - 400) / 2 para el alto.
    Mucho tiempo Juan!, he estado repasando lo que he ido aprendiendo de Java y quiero hacerte una sugerencia de que agregues JavaFX. Gracias :)

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

      Gracias por tu aporte y por tu comentario. Hay por ahí en este curso un ejemplo con un código muy parecido al tuyo para centrar un marco independientemente de la resolución y tamaño de la pantalla. Respecto a lo de JavaFX es algo que ya tenía en mente, pero lo voy a hacer en un curso independiente, no en este. JavaFX se creó en 2008-2009 por Oracle y no forma parte del estándar de Java (API). Por eso pienso verlo en otro curso. Un saludo!!

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

      pildorasinformaticas Verás siempre me ha gustado la ciencia y la ingeniería y a los siete ya veía programas de astronomía. Según lo que he ido aprendiendo de matemáticas ha sido hasta trigonometría y he visto mucha gente que dice que en la vida real no vas a necesitar mas que álgebra para programar y otros dicen que necesito tener equaciones diferenciales parciales, álgebra lineal y la estadística mas elevada. Yo se que depende de lo que se haga con la progrmación; en caso de que necesite crear una aplicación de química por ejemplo necesito muchas matemáticas. Necesito tu opinión sobre si necesito muchas matemáticas de momento aunque se que terminaré estudiándolas porque quiero estudiar física en la universidad.
      Digo ésto porque veo que muchas personas donde trabaja mi madre (trabaja en la unviersidad) me dicen que las necesito fuertemente, puesto a que las matrices en matemáticas son algo equivalente a un array en Java.
      Aquí también aprovecho para darte un buen recurso para tus alumnos y para ti:
      es.khanacademy.org/
      La página es una idea de volver libre la educación permitiendo un buen contenido gratuitamente, de incluso Bill Gates lo usa con sus hijos.
      Aquí he aprendido los algoritmos y estructura de datos para informática, andemás lo fundamental de matemática y física. Te recomiendo que lo pongas en inglés, la versión de la lengua de Cervantes es buena pero no tiene tanto contenido como la inglesa.

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

      Lo primero muchas gracias por el estupendo aporte que me regalas. Es una página excelente que estudiaré con detenimiento. Respecto a las matemáticas, son algo fundamental para programar así que cuanto mayor sea tu conocimiento en ellas, mejor para ti.
      Es cierto que para programar "en general" no son necesarios grandes conocimientos matemáticos. No necesitarás conocimientos trigonométricos, ni derivadas, integrales etc. Pero siempre puede surgir la necesidad de tener que realizar una aplicación especializada como la que tú mencionabas de un laboratorio químico, o quizás una aplicación que haga algún tipo de cálculo físico.... en estos casos seguro que necesitarás conocimientos matemáticos avanzados. El saber no ocupa lugar, cuanto más sepas mejor. Un saludo!!

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

      pildorasinformaticas Perdóname por esto jejeje, pero se me olvidó mencionar el mejor recurso de todos xD. MIT OpenCourseWare y edX.
      Como bien sabrás el MIT ha sacado muchas leyendas desde Richard Stallman y el proyecto GNU y Richard Feynman otro gran físico y Premio Nobel, el MIT posee decenas de premios nobeles, nos han dado muchos conceptos de Informática simplemente indispensables, pues aquí te traigo algo que va a cambiar tu manera de pensar y educar.
      Esta idea surgió en 2001, la idea era proporcionar todos los materiales de el MIT gratuitamente, resulta que aprender todo el curriculum de cualquier carrera gratis desde licenciatura a doctorado.
      Por ejemplo hay cursos de inteligencia artificial, robótica, creación de sistemas operativos, creación de compiladores, algoritmos avanzados y mucho mas.
      ocw.mit.edu/courses/electrical-engineering-and-computer-science/
      Aquí te dejo el curriculum del de informática, con él aprendí los mergesort, quicksorts, y a hacer bases de datos. Algunos contenidos no son tan recientes, pero aún así la teoría ensencial no cambia tanto como las APIs.
      Y el otro es Edx:
      La idea viene de obtener la mejor educación posible, reciviendo clases de universidades como Harvard, Princeton, MIT de nuevo, etc.También Microsoft imparte clases aquí.
      Recomiendo Edx por encima de MIT OCW cuando se tratan de cursos de universidades prestigiosas o de grandes instituciones como Microsoft, puesto a que el contenido del MIT OCW no se actualiza tanto como Edx.
      En Edx aprendí Elements of Software Construction I, y II. CS 50 de Harvard que es una introducción a ingeniería informática.
      De seguro eso explica por que me perdí y deje de comentar, pues no. En realidad lo que hacía era que complementaba tus videos de Java con libros y estos recursos.
      Espero que aproveches estos recursos para traernos mejor contenido tanto a tus alumnos virtuales como los de la institución en la que impartes docencia. Das clases en la universidad? bueno ya he hablado demasiado, adiós!.

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

      Debo agradecerte también por esos aportes, muy buenos la verdad. Conocía solo algunos de ellos.
      Por cierto, ya que mencionas al MIT, me llena de orgullo el hecho de saber que su actual rector es un venezolano: Leo Reif, quien trabajó en el desarrollo de MITx en 2011(los cursos gratuitos del MIT que están en la pagina edX que mencionaste)

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

    Hola Profe, tengo un problema.
    Hice un programita en donde le agregue un icono particular (como usted explico hacerlo) y toma datos un de fichero de texto.
    El problema es el siguiente, cuando lo ejecuto desde eclipse funciona todo perfecto. Pero el problema es cuando lo exporto como un jar ejecutable. Me ejecuta el programa bien, pero no pone ni el icono ni toma los datos del fichero txt. Cuando reviso los archivos estan dentro del jar, pero no funcionan dentro del programa. Los cambie de ruta y nada, sigue sin andar. ¿Que podra estar pasando? Desde ya muchas gracias!
    PD: Vale la pena aclarar que le puse direcciones relativas, estan dentro de src/...

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

    Hola juan, primero que nada reitero mi agradecimiento por tu excelente curso, y mi agradecimiento por el mismo. paso seguido pregunto: resulta que tengo una ventana la cual he centrado en la pantalla usando getLocationRelativeTo(null) dentro de ella tengo un botón el cual abre otra ventana, me gustaría saber como logro, que la ventana que se abre se abra exactamente al lado de la anterior. he buscado en la api algún método que me de la ubicación de la ventana principal o algo que me facilite este trabajo, pero no encontrado. agradezco tu ayuda de antemano. muchas gracias y que tengas un excelente día.

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

      Gracias por el comentario. De memoria no recuerdo si hay algún método que nos permita averiguar de una forma sencilla lo que pides, pero estoy seguro de que se puede hacer. En la clase Toolkit existen varios métodos que permiten averiguar resolución y dimensiones de la pantalla. Eso junto a la ubicación y dimensiones de la primera ventana, nos debería de permitir haciendo cálculos, colocar una ventana junto a la otra. No se me ocurre forma más sencilla de hacerlo. Un saludo!!

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

    Buenas tardes, utilicé la constante correspondiente al método setExtendedState(Frame.MAXIMIZED_BOTH) pero no funcionano funciona, en mi computador.

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

    Una pregunta hemos dado ya como guardar información en archivos? osea en el caso de generar información poder guardarla y visualizarla. es solo una pregunta por que no se ahorita si ya lo dimos o ya lo había visto en algún tutorial incompleto. Gracias de antemano.

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

      +DANIEL URBANO DE LA RUA Hola !! Sí, en el tema de los streams y flujo de datos. No recuerdo ahora en qué vídeo estaba. Un saludo

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

      +pildorasinformaticas ok gracias le echare un vistazo. y lo repasare lo suficiente para no olvidarlo. gracias sigo adelante gracias por todo tu trabajo.

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

    Excelente tus videos, solo queria preguntarte, ¿Por que extender la clase JFrame? digo si ya esta lista y no le vamos a agregar nada, pudieramos simplemente instanciarla o por el contrario siempre hay que extenderla?

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

      Está seguro es una duda frecuente, así que ahí va MI respuesta.
      Se extiende JFrame para encapsular el comportamiento de tu ventana, eso es por el hecho de que java es un lenguaje orientado a objetos, si en vez de extender JFrame te la pasas en todo tu código cambiando tu ventana aquí y allá, es muy difícil darle un seguimiento del "Estado" de tu ventana, si en vez de utilizar JFrame extiendes la clase, pues tienes un objeto el cual en cualquier momento tiene un estado conocido y estable, ademas de que cuando necesites cambiar algo, tienes centralizado todo lo que hace tu ventana y no tienes que andar buscando donde hiciste algún cambio particular y andar cambiando mil y un cosas. Si caes en el punto de decir, "bueno, es que la ventana no va a hacer gran cosa, preguntar algo y uno o dos botones a lo sumo o algo así", entonces no extiendas la clase JFrame, instancia un objeto (si no me equivoco) JDialog o un JOptionPane (esté si ya lo vimos) que es mucho mas rápido que andar usando un JFrame y estarle cambiando cosas.
      ;)

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

    Una pregunta, ¿al conocer y manejar JAVA es mas simple aprender a manejar otro lenguaje de programacion?

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

      Hola !! Siempre que se conoce un lenguaje de programación, y más un lenguaje de programación moderno y orientado a objetos, es más fácil aprender después otro lenguaje. Un saludo!!

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

    Estimado Juan. Una pequeña pregunta.Sin darme cuenta, y haciendo tu ejemplo en mi Eclipse, puse "setExtendedState(JFrame.MAXIMIZED_BOTH);" Y el programa funciona perfectamente. A lo que puntualmente voy: como JFrame, hereda de Frame, en lugar de buscar con precisión la clase a la cual pertenece ese método. ¿No es más práctico escribir directamente JFrame.(acá la constante o método deseada)? Tu explicación en el video es clarísima, ya que vas a la API de Java y buscas la clase a la cual pertenece "MAXIMIZED_BOTH", para enseñarnos y mostrarnos de dónde proviene.Pero en el código no sería más práctico poner JFrame, en lugar de Frame?. Desde ya muchísimas gracias por todo tu trabajo. Y si no puedes responder mi inquietud, igualmente agradecido. Sigo prendido con tu curso. Sé que son muchísimos tus seguidores y alumnos "virtuales", y cada vez son muchísimos más por la calidad de tus clases. Saludos.

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

      +jeha jeha Hola !! Gracias por el comentario. Me alegor de que te gusten los vídeos. Pues sí, claro que se puede hacer como tú dices y es muy sencillo. No recuerdo qué estaba explicando en este vídeo, es posible que recurriera a la API para explicar de dónde viene la instrucción, pero con poner setExtendedState(JFrame.MAXIMIZED_BOTH) es suficiente. Puedes utilizar incluso el objeto this (this.MAXIMIZED_BOTH) si te encuentras dentro del constructor o dentro de la clase del marco. Un saludo!!

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

      Gracias Juan por responderme!!!! Seguimos adelante. Saludos!!!!

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

      +pildorasinformaticas
      Hola Juan, enhorabuena por los tutoriales maravillosos que haces.
      Una consulta respecto al uso static de una variable como MAXIMIZED_BOTH. En esta variable si pongo setExtendedState(MAXIMIZED_BOTH) sin Frame delante, tambien funciona.

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

      Si la pones en el constructor de la clase Frame, sí. Funciona. En otra clase no funcionará si no pones el Frame delante. Un saludo

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

    Saludos desde Cordoba Argentina , antes que nada quiero agradecerles por subir clases de un excelente nivel, estudie POO .Net en una acaddemia de mi ciudad y relmente empece a aprender realmente siguiendo sus videos ! infinitamente gracias.!
    tengo una duda , antes cuando estudiaba en .net en visual Basic , para crear un aplicacion el IDE nos permitia arrastrar botones form, checkbox y demas , y en el curso de java de su canal que estoy siguiendo , para crear un form o u boton lo tengo que hacer mediante ocdigo, mi pregunta es . por que no usar mejor el IDE y su editor ? con que finalidad se estudia el diseño de esa manera . es algo que necesito saber si o si? desde ya muchas gracias por su tiempo !! los felicito sigan asi!

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

      Saludos. En el vídeo inmediatamente anterior a este el profesor explica por qué no usa IDE, que muy sucintamente explicado por mi parte, las razones son:
      -Los IDEs son una ayuda inestimable pero su uso alejan al estudiante del propósito del curso: aprender a programar.
      -Es preferible aprender a programar mediante código y una vez adquirida soltura ayudarse de las herramientas de los IDEs
      -Java tiene IDEs para ello pero no están tan desarrollados como en otros lenguajes. Creo que expone el caso de Basic precisamente.
      La explicación que se da en el vídeo es mucho más enriquecedora, razonada y comprensible en el vídeo 55 que la que pueda dar yo. Pienso que sería ideal que le echaras un vistazo. Saludos.

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

    Hola Juan, ahora que me encuentro en los vídeos de Swing tengo una duda. No es posible instanciar el JFrame directamente en vez de crear una clase nueva y heredarla. Y en los ejemplos de clases de marcos que heredan de Jframe porque no se usa la instrucción super() en el constructor. Gracias por un excelente curso.

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

      Hola !! Sí, es posible. No recuerdo si llego a hacerlo con JFrame pero si que lo hago a lo largo del curso con JPanel. verás que hay ejemplos en los que heredo de JPanel y otros en los que instancia JPanel. Con JFrame sería lo mismo. Respecto a no usar super() es porque para construir un JFrame no es necesario llamar al constructor de la clase padre. Un saludo!!

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

    bien entiendo el tema pero cuando dices campos de clase te refieres a variables declarados con los modificadores public static final? cierto maestro? aveces se parecen a las constantes enum jaja es por eso que me confundo.

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

    Hola disculpe tengo una pequeña pregunta, todo de este curso sigue válido hoy en dia? O a cambiado algunas cosas
    Gracias

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

    Hola, signifca entonces que usamos Swing para crear aplicaciones windows en Java?

  • @GustavoPerez-sh7dc
    @GustavoPerez-sh7dc 8 років тому +1

    una pregunta amigo fui programador en otros lenguajes y tengo unos dias tratando de querer comenzar en java, tengo otro cursos de java que me ensena a crear ventanas desde new other aplication windows, veo que esa opcion me permite trabajar mas rapido que me recomiendas irme por este lado que como llaman en mi pais es todo a pie o poder utilizar esa opcion nombrada

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

      Gustavo Perez yo tambien quiero saber esa respuesta :(

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

    Creo que se equivocó en sus diapositivas (3:51) al decir que los métodos setLocation y setBounds pertenecen a la clase Component cuando en realidad pertenecen a Window.

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

    Me he cruzado(confusión) con relación a la orientación de donde sale la ventana, puesto a que en el método setLocation(500,300) al los numeros ser positivos deben de salir en el primer cuadrante y en la demostración esta saliendo en el cuarto cuadrante. Saludos.

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

    Profe quisiera que me digas como poner el navegador de la API , para poder buscar mas rápido las palabras .
    Gracias por sus cursos todos son buenos .

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

      Puedes utilizar Ctrl+F para buscar un término dentro de la API. Un saludo!!

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

    Hola Juan, a mi el setSize no me hacía nada dejándolo solo en el constructor. Pero si pongo primero setVisible(true) y luego si le defino el setSize o setBounds, entonces si me funciona, supongo que tambien debe estar relacionado al comentario de Lucía Miguélez sobre la dependencia de un metodo con otro. Me adhiero a la consulta de Lucía, hay alguna manera de saber la jerarquía de metodos?
    Muchas gracias. Saludos!

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

      Ezequiel Alberto Gallo Ya le respondí a Lucía la pregunta. Un saludo

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

    El Frame.MAXIMIZED_HORIZ y el Frame.MAXIMIZED_VERT aunque sí que me aparecen como opción no me hacen absolutamente nada... esperaba que se extendiese a lo horizontal y vertical respectivamente (El MAXIMIZED_BOTH sí me funciona).
    El setExtendedState parece que tiene prioridad frente al setSize, lo coloque antes de éste o después siempre se me extiende la ventana, me imaginaba que prevalecería la última instrucción. ¿Hay algún modo de saber la jerarquía de estos métodos?
    Gracias!

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

      Lucía Miguélez Hola !! Comencemos con MAXIMIZED_HORIZ y MAXIMIZED_VERT. Bueno, hay que tener en cuenta que Java es multiplataforma y los diferentes SO no tienen el mismo comportamiento con las ventanas. Hay unos SO que soportan unas características y otros que no las soportan. Parece ser que hay sistemas operativos que no soportan que de inicio una aplicación se ejecute maximizada horizontalmente o verticalmente. Otra cosa diferente es que el usuario manualmente la maximice horizontalmente y la aplicación guarde el último estado de ventana para iniciarse después una segunda vez de esa forma. Pero de inicio, sin que el usuario intervenga previamente parece ser que hay SO que no lo soportan.
      Aquí un link donde hablan de esto: osdir.com/ml/java.ide.netbeans.user/2003-08/msg00431.html
      Y aquí el texto en concreto donde se menciona esto:
      The extended states are NORMAL, ICONIFIED, MAXIMIZED_HORIZ,
      MAXIMIZED_VERT, and MAXIMIZED_BOTH. The setMaximizedBounds() method
      allows you to override the native platform default bounds. The
      setExtendedState() method allows you to pass the indicated state to the
      OS, which will then issue the command to the window if the platform
      supports that state. If it does not, nothing will happen.
      Dice al final claramente que si el sistema operativo no soporta este comportamiento de inicio, al aplicar las instrucciones no ocurrirá nada. justo lo que pasa con Maximized_horiz y Maximized_vert.
      Respecto a la otra pregunta: conflicto entre setSize y setExtendedState. Efectivamente parece ser que tiene preferencia el método setExtendedState, pero yo esto lo acabo de descubrir con vuestra pregunta (sois varios los que me habéis preguntado a la vez por esto). Y lo he descubierto ahora porque la verdad nunca lo probé.
      La pregunta que hago es la siguiente: ¿Qué sentido tiene un setSize y un setExtendedState juntos? La respuesta probablemente sea: "yo quiero que una aplicación gráfica se inicie maximizada y posteriormente tenga un tamaño diferente o al revés, que inicie con un tamaño en concreto y más tarde se maximice". De acuerdo pero, estas instrucciones están en el constructor ¿cierto?, y eso quiere decir que le estamos dando un estado inicial (constructor) a nuestra aplicación gráfica. ¿Y cómo queremos que inicie: maximizada o con un tamaño en concreto? ¿en qué quedamos? No tiene sentido que en un constructor estén las dos instrucciones de igual forma que no puedes decir que el estado inicial de un coche es "circulando" y "aparcado" a la vez. O comienza aparcado o comienza circulando. Luego más tarde podrá circular o aparcar pero el estado inicial solo puede ser uno.
      Luego entonces si queremos que nuestra aplicación comience de una forma y más tarde tenga otra, deberás de programar en el constructor el estado inicial (solo uno) y también deberás crear el evento correspondiente (WindowStateListener) y programar dentro del manejador de eventos de ventana la instrucción que o bien maximice o bien restaure el tamaño.
      Espero haber aclarado algo. Un saludo

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

      pildorasinformaticas Ha quedado claro. Muchísimas gracias!

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

    Lo de Frame.MAXIMIZED_BOTH seria una enumeracion?

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

    Hola hermano como andas?
    pregunta.
    Viste cuando estas en la API de java, No me sale el buscador en la parte inferior para buscar los metodos.
    LO NECESITO jajaja
    gracias.

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

      CTRL + F y tendrás el buscador. Si tienes Firefox saldrá en la parte inferior. Con el resto de navegadores sale en la parte superior. Un saludo!!

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

    Quiero iniciar el curso, pero quisiera saber si puedo usar el IDE Netbeans en vez de Eclipse??
    Saludos.

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

    puedo seguir este curso con el id de netbeans??

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

    me estreza cada vez que pronuncias mal "Resizable" xDDD
    me parece divertida esta parte del curso :D

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

    No se si es que en java trabaje de esa manera, pero el eje y positivo es hacia arriba en el plano cartesiano

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

      Dije "eje de coordenadas cartesiano" pero en realidad no es un plano cartesiano. Error por mi parte, se me escapó la palabra "cartesiano". Simplemente hay dos ejes "x" e "y" donde horizontalmente a la izquierda es negativo y verticalmente hacia arriba también. Un saludo!!

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

    Menudos sustos me pego con el aviso de Windows que te sale a veces...

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

    Existe una forma de centrar el frame y es con el setLocationRelativeTo(null); pero, ví que el maestro ha escrito que no funciona en todas las plataformas.
    Yo he creado o más bien he descubierto un método para centrar un frame con el tamaño que desees, que estoy seguro que funcionará en todas las plataformas, es el siguiente:
    class MarcoColores extends JFrame{
    public MarcoColores(){
    //Establezco el tamaño del frame
    setSize(500,400);
    //Obtengo el sistema de ventanas
    Toolkit herramientas = Toolkit.getDefaultToolkit();
    //Obtengo la dimensión/resolución del monitor
    Dimension dimension = herramientas.getScreenSize();
    /*Establezco en una variable de tipo int el ancho del
    monitor entre dos, menos la mitad del ancho del frame*/
    ancho = (dimension.width/2)-250;
    /*Establezco en una variable de tipo int el alto del
    monitor entre dos, menos la mitad del alto del frame*/
    alto = (dimension.height/2)-200;
    //Establezco la localización del marco
    setLocation(ancho, alto);
    }
    private int ancho, alto;
    }
    PD: Gracias Juan por estos cursos, eres mejor maestro por lejos que he conocido.

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

      Muchas gracias por tu comentario y por el aporte. Seguro que es de utilidad para mucha gente (yo incluido). Un saludo!!

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

    Pongo el código que hice por si a alguien le interesa:
    package graficos;
    import java.awt.Frame;
    import javax.swing.*;
    public class CreandoMarcos
    {
    public static void main(String[] args)
    {
    miMarco marco1=new miMarco(500,500,300,300,"Mi primera ventana",false);

    }
    }
    class miMarco extends JFrame
    {
    private int ancho;
    private int alto;
    private int posicion_x;
    private int posicion_y;
    private String titulo;
    boolean aumentar_marco;

    public miMarco(int ancho, int alto,int posicion_x, int posicion_y, String titulo, boolean aumentar_marco)
    {
    this.ancho=ancho;
    this.alto=alto;
    this.posicion_x=posicion_x;
    this.posicion_y=posicion_y;
    this.titulo=titulo;
    this.aumentar_marco=aumentar_marco;
    setBounds(this.posicion_x,this.posicion_y,this.ancho,this.alto);
    setTitle(this.titulo);
    setVisible(true);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setResizable(this.aumentar_marco);
    setExtendedState(Frame.MAXIMIZED_BOTH);
    }
    }

  • @luisfernandez-jz1gg
    @luisfernandez-jz1gg 5 років тому +2

    package swing;
    import javax.swing.*;
    import java.awt.*;
    class Principal {
    public static void main(String args[]){
    mimarco ventana = new mimarco();
    ventana.dimensionar(500,500);
    ventana.centrar();
    }
    }
    class mimarco extends JFrame{
    //construimos Frames
    public mimarco(){
    setVisible(true); //visibles
    setDefaultCloseOperation(3); //que paren el programa al cerrarse
    }
    void dimensionar(int w, int h){
    setSize(w,h);
    }
    void centrar(){
    int anchopantalla = Toolkit.getDefaultToolkit().getScreenSize().width;
    int altopantalla = Toolkit.getDefaultToolkit().getScreenSize().height;
    int coordx = (int) (anchopantalla-getWidth())/2;
    int coordy = (int) (altopantalla-getHeight())/2;
    setLocation(coordx,coordy);
    }
    }