Hola,
Cita:
Iniciado por luigimaldini ... el problema de todo esto es que por muchos manuales que leas en internet o videotutoriales que veas jamas se entienden las cosas como son en realidad, ...
En lo personal me parece que aprender programación con vídeos es una pérdida de tiempo increíble, de los pocos vídeos que he visto de programación en youtube u otros me hubiera tomado un décimo del tiempo invertido en ver el vídeo leer una hoja de un manual.
Diferente es google video, (aunque vienen del mismo árbol), que explican tecnologías de forma abstracta para que uno las interprete. Como por ejemplo el HTML 5, no te explican como hacer una página, sino para qué sirve y las novedades.
Cita:
Iniciado por luigimaldini ... Si yo veo esa sintaxis en todos los manuales de la web y videotutoriales pienso que para utilizar metodos y miembros de esa clase necesito la palabra clave extends, ...
Yo creo que la forma de explicar en los tutoriales el hecho de usar extends para implementar las ventanas es correcta. El hecho es el siguiente, primero la mayoría de las veces vas a estar usando extends para crear ventanas, y segundo cuando ya tienes la experiencia y estás avanzado en el tema de la herencia puedes comprender este concepto mas fácilmente.
Cita:
Iniciado por afrika026 ... Segundo, en el ejemplo que vos expones no esta mal, se puede interpretar que la clase Ventana no es un JFrame, pero en la misma si se instancia un objeto JFrame. ...
Todo depende del objetivo deseado, porque técnicamente es válido crear ese tipo de aplicaciones, pero en lugar de herencia está usando polimorfismo múltiple por medio de encapsulación. Y tienes toda la razón, al no heredar de JFrame no es un JWindow ni hereda del mismo lugar por lo tanto no se puede usar en interfaces.
Es bueno aclarar que no es lo mismo, aunque como mencioné antes, depende del objetivo.
Cita:
Iniciado por luigimaldini ... pero lo que intento decir es que para crear una ventana no hace falta colocar un extens JFRame como he visto en todos los tutoriales, basta con import y listo, despues en la main creas el objeto y si quieres cambiar texto,color tambien lo haces una vez creado el objeto: ...
Si es posible hacerlo de la forma que expones, pero no es lo mismo, primero pierdes la herencia, pierdes el acceso a los métodos 'protected' y los paradigmas de programación que tienes que usar son completamente diferentes, normalmente requieren mayor experiencia para poder modificar su funcionamiento y al final resulta más difícil.
El mejor ejemplo creo que es el JTable y el DefaultTableModel, la mayoría de personas usan el JTable directamente, agregando filas y columnas (al estilo que mencionas de usar el JFrame sin extenderlo), si aprendieran a extender el DefaultTableModel o implementar el AbstractTableModel se les haría mucho mas fácil hacer programas muy complejos.
Cita:
Iniciado por luigimaldini ... Lo que intento decir es que todo se puede hacer desde la main sin tener que crear una clase y un extends del JFRame, creo haberme explicado. ...
Yo creo que hay que tener el conocimiento para hacerlo de las dos formas, porque en algún lugar de tus aplicaciones posiblemente necesites ponerlos en práctica.
Pero tiene que quedar bien claro que no es lo mismo, lo único que tienen en común es que te muestra un JFrame en pantalla, pero internamente es como hablar de manzanas y casas, dos cosas completamente diferentes.
Saludos,