Foros del Web » Programación para mayores de 30 ;) » Java »

Dudas entre JFrame y JPanel en Swing

Estas en el tema de Dudas entre JFrame y JPanel en Swing en el foro de Java en Foros del Web. Tengo una duda, recien estoy practicando Swing (actualmente programo en JSP) el caso es que quisiera saber realmente si lo recomendable es usar un JFrame ...
  #1 (permalink)  
Antiguo 03/10/2011, 10:05
Avatar de saman0suke  
Fecha de Ingreso: abril-2009
Mensajes: 180
Antigüedad: 15 años
Puntos: 3
Pregunta Dudas entre JFrame y JPanel en Swing

Tengo una duda, recien estoy practicando Swing (actualmente programo en JSP) el caso es que quisiera saber realmente si lo recomendable es usar un JFrame y dentro de este varios JPanel, o dentro de un JPanel, un JFrame, en sintesis, como se recomienda la utilizacion de estos elementos? muchas gracias de antemano, saludos!!
  #2 (permalink)  
Antiguo 03/10/2011, 10:26
 
Fecha de Ingreso: septiembre-2011
Mensajes: 25
Antigüedad: 12 años, 7 meses
Puntos: 3
Respuesta: Dudas entre JFrame y JPanel en Swing

Por lo poco que he utilizado estas librerias ( 5 o 6 veces para lo típico de menús) te recomiendo que uses un JPanel y dentro de ese JPanel todo lo demás, pero es por mi experiencia propia, así siempre lo he hecho y me ha funcionado bien.

De todas formas con el netbeans te puedes crear menús y usar estos Swing visualmente =)

Un saludo.
  #3 (permalink)  
Antiguo 03/10/2011, 10:35
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Dudas entre JFrame y JPanel en Swing

Hola:

Puedes hacerlo como quieras. El único criterio para decidir una cosa u otra es la posible reutilización de esos componentes en otros programas o en otras partes del mismo programa (aparte, por supuesto, la claridad del código).

Por ejemplo, si quieres hacer una ventana para pedir usuario y password, lo más reutilizable es que hagas un JPanel con esos dos componentes dentro. Así podrás usar ese panel donde quieras más veces. Si metes esos dos campos dentro de un JFrame u otro JPanel con más componentes que no tengan que ver con usuario y password, no podrás reutilizarlo fácilmente.

Con el mismo criterio de reusabilidad, no suele ser buena idea meter los componentes directamente en un JFrame. El JFrame es una ventana ventana principal de una aplicación de escritorio. No puedes reutilizar ese JFrame como ventana secundaria, como internal frame o como applet. Si quieres reutilizar, es mejor simpre meter los componentes en JPanel y estos dentro otros JPanel, JFrame, JDialog, JInternalFrame, JApplet, ....

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #4 (permalink)  
Antiguo 03/10/2011, 10:36
 
Fecha de Ingreso: enero-2008
Ubicación: Mallorca
Mensajes: 131
Antigüedad: 16 años, 3 meses
Puntos: 5
Respuesta: Dudas entre JFrame y JPanel en Swing

Cita:
Iniciado por xictor Ver Mensaje
Por lo poco que he utilizado estas librerias ( 5 o 6 veces para lo típico de menús) te recomiendo que uses un JPanel y dentro de ese JPanel todo lo demás, pero es por mi experiencia propia, así siempre lo he hecho y me ha funcionado bien.

De todas formas con el netbeans te puedes crear menús y usar estos Swing visualmente =)

Un saludo.
Quieres decir que con netbeans puedes realizar la interfaz gráfica como si se tratara por ejemplo de visual c#?
__________________
Surf
  #5 (permalink)  
Antiguo 03/10/2011, 11:36
Avatar de saman0suke  
Fecha de Ingreso: abril-2009
Mensajes: 180
Antigüedad: 15 años
Puntos: 3
Pregunta Respuesta: Dudas entre JFrame y JPanel en Swing

Cita:
Iniciado por chuidiang Ver Mensaje
Hola:

Puedes hacerlo como quieras. El único criterio para decidir una cosa u otra es la posible reutilización de esos componentes en otros programas o en otras partes del mismo programa (aparte, por supuesto, la claridad del código).

Por ejemplo, si quieres hacer una ventana para pedir usuario y password, lo más reutilizable es que hagas un JPanel con esos dos componentes dentro. Así podrás usar ese panel donde quieras más veces. Si metes esos dos campos dentro de un JFrame u otro JPanel con más componentes que no tengan que ver con usuario y password, no podrás reutilizarlo fácilmente.

Con el mismo criterio de reusabilidad, no suele ser buena idea meter los componentes directamente en un JFrame. El JFrame es una ventana ventana principal de una aplicación de escritorio. No puedes reutilizar ese JFrame como ventana secundaria, como internal frame o como applet. Si quieres reutilizar, es mejor simpre meter los componentes en JPanel y estos dentro otros JPanel, JFrame, JDialog, JInternalFrame, JApplet, ....

Se bueno.
Ok, creo que entiendo la idea, basicamente lo recomendable es manejar todos los componentes en jPanel y estos aplicarlos dentro de un jFrame segun las necesidades, correcto? de esta forma lo entiendo, por favor corrijanme si estoy equivocado, saludos!
  #6 (permalink)  
Antiguo 03/10/2011, 13:47
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Dudas entre JFrame y JPanel en Swing

Cita:
Iniciado por zero- Ver Mensaje
Quieres decir que con netbeans puedes realizar la interfaz gráfica como si se tratara por ejemplo de visual c#?
Si. Eclipse también tiene esa opción como Plugin.
  #7 (permalink)  
Antiguo 03/10/2011, 15:12
Avatar de saman0suke  
Fecha de Ingreso: abril-2009
Mensajes: 180
Antigüedad: 15 años
Puntos: 3
Respuesta: Dudas entre JFrame y JPanel en Swing

Tengo otra duda aparte, estoy con Netbeans 7.0 y veo que puedo crear un jFrame.java al cual le añado los jPanel y dentro de los jPanel diversos elementos, etc, pero tambien puedo crear un jPanel.java que funciona igual, y supongo que debo instanciar luego para agregarlo al jFrame, cual es la diferencia entre dibujar el elemento y crear un .java para el jPanel solo? gracias!!!

Etiquetas: dudas, jframe, jpanel, jsp, swing
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:28.