JFrame por JPanel

78 views
Skip to first unread message

Duvan Peña

unread,
Oct 24, 2009, 11:28:16 PM10/24/09
to is1_unal_2009_02
Que mas Miguel, respecto a lo que preguntaba anteriormente Victor
resolvimos dejar todo en un solo frame, pero nos gustaria no volver a
hacer todos los que ya estan hechos , el problema es que todos estan
en frames aparte, entoces si porfavor nos puede comentar como
convertir un JFrame un JPanel o algo parecido para llegar a el
obejtivo q le comentaba , gracias
PD
Ya intentamos cambiar textualmente cambiar en la
extención: Miclase extends JFrame por Miclase extends JPanel pero, nos
muestra una serie de errores en la parte donde no se puede modificar
el codigo.

miguel

unread,
Oct 25, 2009, 8:59:08 AM10/25/09
to is1_unal...@googlegroups.com


El 24 de octubre de 2009 22:28, Duvan Peña <djepv...@gmail.com> escribió:

Que mas Miguel,

Buenos días Duván
 

Pues esta sería una buena solución, los errores básicos que aparecen son en el código autogenerado (que no se puede editar desde el IDE), para solucionar esto deberán abrir el archivo .java referente al Frame que deseen convertir con un editor de texto externo a NetBeans (puede ser WordPad). Una vez abierto dicho archivo revisen las líneas que tienen errores desde el IDE (pueden tener simultáneamente abierto el archivo en ambas partes sin problema), una de ellas es la de:

setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);

Si revisan la documentación del api de la clase JPanel notarán que este método no existe, mientras que en JFrame sí. Este método se encarga de definir qué acción deberá seguir la aplicación en el evento de que el usuario presione el botón de la X de cerrar la ventana (y obviamente, como el panel no tiene dicho botón, no domina este método), podrán entonces eliminar esta línea.

después tendrán las líneas:

javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);

noten que se está obteniendo el panel de contenidos del frame, pero dicho panel en el caso de un JPanel es él mismo, por lo que deberán cambiar el llamado del método getContentPane() por this.

Finalmente, tendrán error en la línea

pack();

Esta línea sirve para empaquetar todos los componentes de la ventana, de manera que ésta podrá ser redimensionada para que todos los componentes sean visibles. En el caso de un panel dicho método no existe, por lo que podrán eliminar esta línea sin problemas.

Si tienen algún otro error por favor comuníquenlo.

PD: como ya se ha dicho anteriormente es de gran ayuda que envíen el código que está enviando errores y los errores que dicho código genera.

Espero haber aclarado el tema,


--
Miguel Cubides
Ingeniería de Sistemas
Universidad Nacional
Reply all
Reply to author
Forward
0 new messages