Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: cardiobeta en 02 de Marzo 2013, 15:07

Título: Activar JPanel jtabbedpane java
Publicado por: cardiobeta en 02 de Marzo 2013, 15:07
Hola. Saludos. Tengo un JTabbedPaned llamado pestaña en el cual se cargan varios panel llamados panel, panel1, panel2 y panel3. Cuando adiciono los panel el panel1 esta desactivado en forma prederteminada. Ahora tengo un JButton el cual debe activar el panel1. El código que estoy usando es el  siguiente:
 Para construir el JTabbedPaned:
......
final JPanel panel1 = new JPanel();
             panel1.setLayout(null);
             panel1.setBorder(BorderFactory.createTitledBorder(""));
             panel1.setBackground( Color.YELLOW );
        Evaluacion ev = new Evaluacion();
             ev.DiseñarPanel1(panel1);
             
             pestaña.addTab("Evaluacion clinica", panel1);
......       
pestaña.setEnabledAt(1, false);
getContentPane().add(pestaña);

 Con el siguiente codigo pretendo activar el panel1:
 private void jButton6ActionPerformed(java.awt.event.ActionEvent evt1){
        
              System.out.println("Hola");             
             pestaña.setEnabledAt(1,true);          
     }
El asunto es que al presionar el jButton6 el sistema imprime "Hola" pero en panel1 no cambia a activado (Enabled). Gracias de antemano.
Título: Re:Activar JPanel
Publicado por: Ogramar en 02 de Marzo 2013, 19:28
Quizás los índices son 0, 1, 2, 3, ... y tú estás suponiendo que son 1, 2, 3, 4... y si es así en vez de pestaña.setEnabledAt(1, false); deberías poner pestaña.setEnabledAt(0, false);

Quizás sí cambie a enabled pero tú no seas capaz de apreciarlo. Para salir de dudas intenta hacer que se muestre un mensaje sobre el Jpanel cuando hagas click en el botón y mira a ver en qué panel te lo pone, a lo mejor no es el que tú crees.

También puedes intentar poner esto:

 private void jButton6ActionPerformed(java.awt.event.ActionEvent evt1){
       
              System.out.println("Hola");             
             pestaña.setEnabledAt(1,true);           

if (pestaña.isEnabledAt(0) == true) {

 System.out.println("La pestaña cero está enabled true");   
}
else {System.out.println("La pestaña cero está enabled false");   
}

if (pestaña.isEnabledAt(1) == true) {

 System.out.println("La pestaña uno está enabled true");   
}
else {System.out.println("La pestaña uno está enabled false");   
}


     }

Título: Re:Activar JPanel
Publicado por: cardiobeta en 03 de Marzo 2013, 15:27
Ya resolvi. Lo que hice fue crear primero un panel y con un jbutton localizado en ese panel creo los otros. La informacion vino desde aqui http://www.roseindia.net/java/example/java/swing/AddRemoveTab.shtml. Al final el resultado es el mismo. Saludos.