• Sábado 21 de Septiembre de 2024, 11:44

Autor Tema:  Aprovechar Jinternalframe Para Varios Jpanels  (Leído 1079 veces)

JuanCebolla

  • Nuevo Miembro
  • *
  • Mensajes: 11
    • Ver Perfil
Aprovechar Jinternalframe Para Varios Jpanels
« en: Viernes 16 de Febrero de 2007, 19:36 »
0
A ver tengo un problema, que supongo que será fácil de solucionar pero yo no lo veo....

Mi idea es crear una JInternalFrame que contenga un JPanel que extienda, pero mantener el JInternalFrame y poder cambiar el JPanel solo.
Poder hacer:

jpNuevo panNuevo=new jpNuevo();
JIFNuevo jifPrueba= new JIFNuevo(panNuevo);

jpOtroPanel panOtroPanel=new jpOtroPanel();
JIFNuevo jifPrueba2= new JIFNuevo(panOtroPanel);

Es decir aprovechar la Clase JIFNuevo en la que podria definir el "feel and look" para todos los InternalFrames y cambiar solo los JPanel de dentro del InternalFrame.

1º Creo los JPaneles extendiendo la clase JPanel:

1º JPanel
Código: Text
  1. public class jpNuevo extends JPanel {
  2.  
  3.   public jpNuevo () {
  4.     InicializarCompenentes();
  5.   }
  6.  
  7.   private void InicializarCompenentes() {
  8.    //Aqui meto todo lo que quiera jtext, jlabel, etc.
  9.   }
  10. }
  11.  
2º el otro JPanel:
Código: Text
  1. public class jpOtroPanel extends JPanel {
  2.  
  3.   public jpOtroPanel () {
  4.     InicializarCompenentes();
  5.   }
  6.  
  7.   private void InicializarCompenentes() {
  8.    //Aqui meto todo lo que quiera jtext, jlabel, etc.
  9.    //diferentes al jpNuevoPanel
  10.   }
  11. }
  12.  

Y por ultimo el JInternalFrame:
Código: Text
  1. public class JIFNuevo extends JInternalFrame {
  2.  
  3.   public JIFNuevo (jpNuevoPanel panNuevo) {
  4.     InicializarCompenentes();
  5.     JPanel JPContainer = new JPanel();
  6.     JPContainer.add(panNuevo);
  7.   }
  8.  
  9.   public JIFNuevo (jpOtroPanel panNuevo) {
  10.     InicializarCompenentes();
  11.     JPanel JPContainer = new JPanel();
  12.     JPContainer.add(panNuevo);
  13.   }
  14.  
  15.  private void InicializarCompenentes() {
  16.    //Aqui podria definir el "Feel and look" del Internal Frame.
  17.   }
  18.  
  19. }
  20.  

El problema esta, en si hay alguna forma de hacerlo sin tener que repetir el constructor dos veces, es decir que con un:

Código: Text
  1.   public JIFNuevo (Tipo_JPanel_que_sirva_para_cualquier_panel_extendido_que_le_pase panNuevo) {
  2.     InicializarCompenentes();
  3.     JPanel JPContainer = new JPanel();
  4.     JPContainer.add(panNuevo);
  5.   }
  6.  

me sirva para todos los JPanel que pueda extender.

Muchas gracias.