4: MVC en Java (Modelo, Vista, Controlador)
HTML-код
- Опубликовано: 29 авг 2024
- Curso de Java y MySQL: En este capítulo aprenderemos a trabajar con el patrón de diseño MVC como buenas practicas de programación para desarrollo de aplicaciones en Java y MySQL.
☕️🍺 Invítame un café o una cerveza: www.paypal.me/...
🤝 Únete a este canal con beneficios: www.youtube.co...
🌐 Sitio web: codigosdeprogr...
👨🏫 Contacto y asesorías: codigosdeprogr...
🎁 Hosting con descuento: www.hostg.xyz/...
POR FAVOR, ¡SUSCRÍBETE!
tu canal es uno de los mejores, te conoci por android studio y ahora java, siempre con una forma de explicar tan didactiva, espero tengas mas exito en la plataforma, saludos!
Gracias, saludos!
El video me ayudo a entender el patron MVC. Muchas gracias, sigue asi ayudas demasiado a la comunidad.
Gracias, saludos
Muy buen ejemplo de MVC justo lo que necesitaba la verdad para recordar como era la estructura.
Te amo we, estaba trabado 1 semana con mi trabajo practico. Soy tu fan!!
Para hacer publico un botón en el IDE eclipse
1ro Se convierte en propiedades, "Convert field to local"
y después en el Source se cambia como público.
Muchas gracias, despues de muchos años por fin entendi el patron de diseño MVC y todo gracias a este maravilloso video.
Genial
Felicitaciones explicas muy pero muy bien ... Dios te multiplique tus talentos y que este canal crezca exponencialmente en suscriptores ... Dios te bendiga.
Muchas gracias, saludos
Super clara la explicación mi estimado, gracias por su aporte a nosotros los estudiantes!!
Gracias, saludos
MVC explicado de manera sencilla y entendible buen video.
Gracias, saludos
que grande amigo, literal tengo que hacer un proyecto con esto y lo entendí gracias a vos
Excelente!
Gracias amigo, he tenido un problema al conectar el controlador con mis vistas, pero ya viendo tu video, he notado que no hice uno de tus pasos, muchas gracias Crack, sigue así :'D
De nada, saludos
@@codigosdeprogramacion Amigo, ahora estoy probando el codigo y en la consola me aparece como NullPointerException, ¿que puedo hacer?
Muchas gracias amigo, lo entendí a la perfeccion! ahora a practicar.
Genial
No decaigas, llegaras muy lejos ! Gracias por todo el conocimiento hasta ahora ! :D
Gracias, saludos
Es algo así como cambiarle el nombre a: Base de datos (Modelo) - FrontEnd (Vista) - BackEnd (Controlador)...???
Gracias por compartir.....me sirvió mucho..antes de verlo pensaba que era SuperDificil ...un abrazo desde Rep Dom
Gracias, saludos desde México
ese patrón MVC(modelo vista controlador) lo había oído pero todavía no me lo enseñan en la universidad, gracias por explicarlo es algo confuso por que hay sentencias que todavía no he dado y no entiendo. pero gracias de todos modos
Está genial gracias porque me despejaste dudas, pero yo lo e implantado, de forma que el cliente en este caso Main no conozca el Modelo sino que sea el controller el unico que contenga el Modelo y lo instancie este mismo. Por ahi se podria tener otra forma de inyectar el modelo en Controller sin que sea por Main por el momento no me lo puse a pensar pero por ahi voy ajjjaaj, decirte que el video está muy bien explicado me gusto y se entiende re bien un saludo!!!
Muchas gracias. Se puede trabajar de formas distintas
Siempre me enredaba en el controlador, gracias por las aclaraciones, saludos :D
Con gusto, saludos
¡Excelente video, breve y preciso, muchas gracias!
Gracias 👍
gracias hermano me has ayudado mucho para mi proyecto escolar like y nuevo sub.
Espero impresionar a mi maestro
Gracias, saludos
Extraordinaria explicación, mil gracias bro!!
Con mucho gusto
Muy buen video, felicidades, muy facil y entendible
Gracias, saludos
Gracias x esta ayuda, lo necesita.
Excelente, saludos
Compa Muchas Gracias , Buen Vídeo parcero Excelente explicación Con El mejor Ejemplo de nuevo Gracias.
Gracias, saludos
Hola Marko, me gusta mucho como explicas, agradezco el tiempo q te tomas para enseñarnos y compartir un poco de lo q sabes, yo ya estoy un poco grande para programar pero creo q nunca es tarde para aprender, tuve q dejar mi carrera a un lado pq me dedique a hacer mamá pero siempre me ha gustado la programación, serias tan amable de decirme q libros estudiaste para aprender tanto de Java?, sin más muchas gracias y q Dios te Bendiga
Gracias, no lei muchos libros sobre el tema sino su documentación de cada lenguaje pero te puede ayudar el libro de java mcgraw hill
Hola buenas noches! Muy buena la explicacion y el curso, tengo una consulta: En la capa de Modelo, en la clase Modelo viste que vos haces todos los metodos getters y setters de los atributos numero1, numero2 y resultado. PORQUE NO HACES EL METODO CONSTRUCTOR DE LA CLASE MODELO?? No se hace el constructor de esa clase en esa capa? Solo haces el constructor en la capa Controlador? Muchas gracias.
Gracias por la explicación Ingeniero. Saludos!
Gracias, saludos
POR FIN LE ENTENDI! :D MUCHAS GRACIAS
Genial, saludos
Un favor en la última parte en la clase de MVC cómo puedo Aser para que me salga ese menú donde están las clases y quedó vinculado todo?
Excelente video muy bien explicado, gracias por compartir!
Gracias saludos
Merecido Like, excelente Gracias ! Buen video
Gracias, saludos!
WAO, excelente explicación muchísimas gracias.
Gracias, saludos
Muchas Gracias. Estuvo muy bien explicado. :D
Gracias, saludos.
Estuve siguiendo tu video y lo hice en mi pc pero me marca un error. Dice que no ha encontrado la clase principal.¿Podrías ayudarme a resolverlo?
Me ha gustado mucho el curso que has realizado. Está muy bien explicado.
Muchas Gracias, Saludos
Me sirve mucho este vídeo, gracias!
Gracias, saludos
Me ha ayudado mucho gracias
Excelente, saludos
Lo has explicado genial, Felicidades!!
Gracias, saludos
brother no me deje iniciar los metodos settittle y set location y no se pq, es como si el ide no reconociera los metodos del import del actionlistener
Muchas gracias, la verdad es que me ayudó mucho, tengo una duda, es posible hacer esto con un Internalframe? Y de ser así, que tendría que tener el controlador? Gracias
Intente realizar el boton para sumar, restar y dividir pero cada vez wue uso un boton ya no puedo usar otro es decir todos realizan ña operacion que hize primero
Mis metodos abstractos no realizan ninguna accion, que puede ser y como lo podria resolver? Eestoy utilizando el mouselistener porquqe estoy usando labels en vez de botones
Muy bien explicado, gracias.
Gracias
Muchas gracias
Muchas gracias por este curso de programación. Me a servido mucho. Estoy comenzando a ver los tutoriales no se si tiene uno de punto de venta. Como para una tienda de abarrotes.
Gracias, aun no tenemos cursos de ese tema
Muchas gracias, súper claro!
Con mucho gusto
Muy bien explicado me gustó, pero tengo una duda ahora se usa javafx y tengo la duda de q si tengo que crear por ejemplo 5 clases haría lo mismo para conectarlas ?
Gracias, se entendió muy bien.
A la orden
Muy Bueno, ya me subscribí y pulgar arriba. Muchas Gracias.
Gracias, saludos
Amigo y cuando son varias vistas tengo que hacer un controlador por cada vista
Una pregunta, en la clase Modelo, donde se declaran los objetos de la operación, no se declara el constructor de la clase Modelo? Gracias y saludos.
Amigo explicas muy bien, estoy con mis primeros pazos en Java, me parece medio complicado, segun estudie los paquetes son Entidades, Acceso a Datos y Vista, ademas son tantas las versiones que confunden cada uno tiene una forma de escribir codigo, en NetBeans hay muchas versiones una no va con la otra, asi en muchas cosas te desanima un poco programar otros dicne que hay que crear un main yo no lo hago y funcionan bien, saludos cordiales.
Cada programador trabaja como lo entienda y le guste, tú puedes hacer lo mismo, a menos que estés en un grupo de trabajo, en ese caso te tendrás que adaptar a la forma de codificación que usen
Excelente explicación!
Hola, muchas gracias
no me aparecen los metodos .setTitle ni .SetLocationRelativeTo
hola profe cree un paquete vista de diseño, cree el paquete modelo la clase cliente, las consultas y el el paquete controlador no me reconoce los botones de la vista....
Hola, los botones deben ser públicos para que desde otra clase sean detectados.
@@codigosdeprogramacion los botones son publicos, los cree en un JPanle y no en un JFrame...como heredo los botones y metodos?
no solo creo un botón multiplicar ,también sumar y restar
pero no me permite realizar otras operaciones solo una y toma la operación de la anterior para hacer la siguiente
ayudame en eso por favor como se hace
muchas gracias, muy bien explicado
Gracias, saludos
Buen vídeo. una pregunta, cuando manejo varios botones como seria la estructura, saludos
Compa en la Parte de controlador, En la clase Controlador, Como puede ver hay se puso la configuración del botón Entonces Hay Podrida mandar a Definir mas Botones así Como esta hay Con ( This.view.NombreBoton ) , Y después simplemente los Llama Como Aparece en el vídeo Espero Me haga entender y Este en lo Correcto , fuera Bueno Que el Canal Confirmara esta respuesta.
@@Afg2-Games Muchas gracias me sirvio mucho
Excelente explicación, por de casualidad tiene un vídeo con interfaces con mvc donde se crea un menú?
Gracias, por el momento no
hola, muy buen tutorial amigo, sabes que cuando ejecuto desde la clase main me sale este error : Exception in thread "main" java.lang.UnsupportedOperationException: Not supported yet.
at controlador.ControladorPersonal.(ControladorPersonal.java:19)
at main.personal.main(personal.java:18) y no se me abre jframe ni nada, te agradeceria mucho si me puedes ayudar porfavor
Cuando intento crear un formulario JFrame dice que ya existe sin importar el nombre que le ponga aparece el mensaje y si crea la clase, pero al momento de intentarla importar es como si no existiera realmente ya que no puedo importarla ni con el IDE ni de manera manual.
Está muy raro
Hola, buen tuto, pero no entendi del todo el uso del patron de diseño MVC, la ventaja de usarlo es tener mayor control al implementar los controles y vistas de nuestro programa? ya que todo esta hecho desde una clase(controlador) y no dentro de la pestaña source del formulario.
Excelente explicación. Muchas gracias.
Gracias, saludos
Hola! Tengo una pregunta, estás usando Scene Builder?
amigo una consulta , baje eclipse pero cuando voy a crear un proyecto no se despliegan 2 ventanas no me da la opcion de java aplication , me da solo java proyect. que estare haciendo mal?? o baje otro ide el mio es java eclipse para desarrolladores
Hola,
Por que al Constructor del Controlador se le debe agregar las tres propiedades? Me explicas por favor..
No logro comprender muy bien esa parte :/ Entiendo que al instanciarlo se inicializan aquellas 3 pero porque jaja si creamos el constructor sin parametros, porque no funciona? Si al final solo llamamos al metodo iniciar().
Gracias de ante mano :D
En un proyecto mas grande ¿debo crear un controlador por cada JFRAME que utilice ?
Hola disculpa estas ocupando poliformismo? O a caso es herencia
Como seria so utilizara las 4 operaciones suma resta multiplicacion y division o que cosa cambiaria
??
Gracias, fue de gran ayuda
De nada, saludos
excelente.......muchas gracias
De nada, saludos
Qué sucede cuándo en vistas tenemos varios formularios que interactúan entre si ? Dios te bendiga
buen ejemplo, gracias
Muy buena explicación muchas gracias, una duda, como se quito el error que aparecia al principio en la clase controlador?
implementando el método actionPerformed()
@@codigosdeprogramacion muchas gracias, no sabia que era con interfaz así que le había cambiado el nombre del método, me sirvió mucho tu video :)
Excelente
Gracias
Si tengo mas de una ventana, ¿Cada ventana tiene su propio controlador? y supongo que llamo al model en cada ventana, lo pongo en el constructor:
EJ: ventanas.ventanaDatos(this,model,this.getBotonera).
getbotonera es un gui form(objeto creado por mi y que puedo insertar como un elemento mas del swing y que depende de la pestaña en la que esta hace CRUD respecto a esta (la pestaña))
Si esta en la pestaña 0 CRUD sobre ese objeto
int pestana = ventana.tabledpanel.getSelectedIdex();
Thanks
Esta genial, como podría añadir un mouseclicked dentro de mi controlador?
Como puedo hacer para gestionar un evento dentro de un JInternalFrame, necesito llamar a un boton que esta dentro de ese JInternalFrame y desde el controlador no me lo toma, que solucion hay..
en mi humilde opinión se debería utilizar la interfaz PropertyChangeListener para el tema del controlador. más que nada porque si no la comunicación interna de la aplicación sería estúpida porque es como: la vista le dice al controlador, oye que algo ha cambiado en el modelo, y el controlador le dice a la vista, oye que algo ha cambiado en el modelo, reflejalo en la vista. no se, a mi me parece más eficiente que el modelo mande señales asíncronas al controlador para que éste le avise a la vista y que refleje esos cambios. de forma que para el mvc utilizaríamos el patrón observer. no digo que vuestra forma esté mal, digo que la mía es mejor (en mi opinión)
Cuando implemento "Actionlistener" me sale el error "Controlador is not abstract and does not override abstract method actionPerformed..." ¿ese error por qué? muchas gracias.
Ese error indica que te falta crear el metodo "actionPerformed", en el minuto 13:33 lo crea y eso debe resolver el error.
como seria para que de un botón vaya a otra vista?
Gracias!
Hola, muy buen tutorial, pero estoy un poco confundido... no debería haber un solo modelo de numero y un controlador que se encargue de la multiplicación de 2 objetos tipo numero?, me hace mas sentido de que los modelos sean simplemente una definición básica de un objeto (campos) y que las operaciones (métodos) no sean parte de estos.
Tengo la misma duda, a mi en la universidad me lo enseñaron así, donde el modelo contiene las definiciones de un objeto, mientras que el controlador, se encargaba del crud ):
@@dakota9311 Hace 2 años tenía esa duda y ahora te confirmo de que cuando eres purista en MVC el uso del patrón exige que los modelos sean solo eso o para que se entienda mejor... es una clase donde solo hay propiedades y es usado para "transportar" datos entre la capa de datos y las vistas, ahora, eso NO implica que no puedas poner métodos, ya que en estricto rigor son clases, pero cuando ves ejemplos de MVC que tiene Microsoft te das cuenta de que todos los métodos están en el controlador, quien finalmente lleva los datos a la vista.
Hola! Disculpa. En caso de las conexiones a la db. En que parte iría, en el modelo o en el controlador? Cual es la mejor o es indiferente?
Hola, la mayoría lo utiliza en el modelo y en ocasiones depende mucho del proyecto.
@@codigosdeprogramacion Muchas gracias!! Eres un crack! 👌
Hola, que tal, buen tutorial pero tengo una duda. El boton no hace nada, porque no le pusiste nada dentro del boton, que codigo es xcierto? si alguien me lo proporciona gracias.
Gracias
espectacular!!!!!
Gracias
Excelente explicación ... Las clases siempre se deben llamar Controlador, Vista y Modelo ? Dios te bendiga
Gracias, los nombres es por cuestión de identificación no necesariamente deben llamar así.
Puede hacer otro ejemplo de MVC?
Hola, tengo una pregunta, tengo que crear un controlador por cada vista(Formulario)?, por ejemplo tengo el Login, y la ventana principal.? seria un cotrolador por cada vista?
Hola, lo ideal seria eso pero también puedes utilizar uno para varias
muchas gracias
Oye estaba intentando ver tu código pero no sirve el de controlador :(
Hola, en el vídeo se demuestra que sirve
Será que me puede hacer el favor de enviar el código controlador si puedes?..
@@codigosdeprogramacion en eclipse lo intente hacer y nada, el primer error aparece en la linea que dice this.view.btnMultiplicar.addKeyListener(this). sale un cartel diciendo The method addKeyListener(Controlador) is undefined for the type Object.
Amigo una consulta, ¿Cómo creo otro actionPerformed para otro botón?
Soy tu yo del futuro, ya lo descubrí :v primero agregas los botones en el constructor y tienes que hacer un IF -> poner "hasfocus"
Ejemplo:
public void actionPerformed(ActionEvent e){
if(viewDB.btnAjustes.hasFocus()){
JOptionPane.showMessageDialog(null, "Hola");
}
if(viewDB.btnGuardar.hasFocus()){
JOptionPane.showMessageDialog(null, "He He");
}
}
@@luisangelzabalamartinez6847 sí.
@@TheBeffo
public Controlador(Vista view, Modelo model){
this.view= view;
this.model= model;
this.view.btnSumar.addActionListener(this);
this.view.btnBorrar.addActionListener(this);
}
@@TheBeffo Me sale error en el btnBorrar, porque amigo?
En el controlador debe ir también los métodos, no?
Hola, dependiendo pero en el mayor de los casos si
Muy bien explicado y claro felicidades exito
Gracias, saludos
run:
Exception in thread "main" java.lang.UnsupportedOperationException: Not supported yet.
at vista.Vista.setTitle(Vista.java:131)
at controlador.Controlador.iniciar(Controlador.java:33)
at mvc.MVC.main(MVC.java:27)
C:\Users\herna\AppData\Local\NetBeans\Cache\8.2\executor-snippets
un.xml:53: Java returned: 1
BUILD FAILED (total time: 2 seconds)
me sale esto ayudaaaa
tines el codigo de la clase
view o vista ?
existe alguna toeria para leer,para los que recién empezamos?
En la clase Controller
en que metodo va
this.vista.boton.addActionListener(this);
o como es la manera de invocarlo ?
En el constructor de la clase y como esa clase implementa ActionListener por eso es el this
debes de advertir que deben saber algo de programacion orientada a objetos