Foro de elhacker.net

Programación => Java => Mensaje iniciado por: gasoft en 26 Noviembre 2009, 17:31 pm



Título: [SOLUCIONADO]Remover Componentes de un Contenedor
Publicado por: gasoft en 26 Noviembre 2009, 17:31 pm
Hola Amigos,

tengo una inquietud sobre eliminar componentes de un contenedor en este caso de un JPanel; Es posible eliminar todos los componentes de un JPanel menos uno que necesite?
Es decir puedo utilizar algo así como el removeAll(); pero que solo me deje un componente especifico?

Agradezco de antemano sus respuestas.  :rolleyes:


Título: Re: Remover Componentes de un Contenedor
Publicado por: Leyer en 26 Noviembre 2009, 18:43 pm
este te deberia funcionar. eliminar todos menos el componentes que le indiques

Código
  1. x.setName("button");
  2. Component[] d = panel.getComponents();
  3. for(int index=0;index<d.length;index++){
  4. System.out.println(d[index].getName());
  5. if(!(d[index].getName()=="tuComponet")){
  6. panel.remove(d[index]);
  7. }
  8. }

Saludos.


Título: Re: Remover Componentes de un Contenedor
Publicado por: gasoft en 26 Noviembre 2009, 22:12 pm
wow!

Gracias Amigo L-EYER,  era justo lo que necesitaba :D; le he agregado para que haga visibles 3 componentes que necesito   :P.

Muchas , pero Muchas gracias :D


Código
  1.  
  2. void Ocultar_Componte()
  3.    {
  4.        BExpendedores.setName("Expendedores");
  5.        BProveedores.setName("Provedores");
  6.        BPersonal.setName("Personal");
  7.  
  8.        java.awt.Component[] d = this.getComponents();
  9. for( int index = 0 ; index < d.length ; index++ )
  10.                {
  11. System.out.println(d[index].getName());
  12. if( ! (( d[index].getName() == "Expendedores" ) || ( d[index].getName() == "Provedores" ) || ( d[index].getName() == "Personal" )) )
  13.                        {
  14. this.remove( d[ index ] );
  15. }
  16. }
  17.  
  18.    }
  19.  
  20.  


Título: Re: Remover Componentes de un Contenedor
Publicado por: gasoft en 27 Noviembre 2009, 06:46 am
Amigo L-EYER,

Me sucede algo curioso con un JTextPane; solo se me activa cuando hago clic fuera del elemento; pereciera ser de que el JScroll... no estubiera visible pero lo esta.

Que crees que podria ser?


Título: Re: Remover Componentes de un Contenedor
Publicado por: Leyer en 27 Noviembre 2009, 07:00 am
 intenta poniendole .setVisible(true); al textpane  o setFocusable(false); aunke seria mejor que colocaras el code.

Saludos.


Título: Re: Remover Componentes de un Contenedor
Publicado por: gasoft en 27 Noviembre 2009, 17:21 pm


Mira este es le codigo que utilizo para el JTextPane

Código
  1.  
  2. // Esta funcion se llama en el constructor para mostrar los componentes graficos
  3.  
  4. private void initComponents()
  5.  
  6. {
  7.  
  8. .....
  9.  
  10.        jScrollPane1 = new javax.swing.JScrollPane();
  11.        CDescrp = new javax.swing.JTextPane();
  12.  
  13. ........
  14.  
  15.        jScrollPane1.setViewportView(CDescrp);
  16.        add(jScrollPane1);
  17.        jScrollPane1.setBounds(180, 110, 190, 110);
  18. }
  19.  
  20.   private javax.swing.JTextPane CDescrp;
  21.   private javax.swing.JScrollPane jScrollPane1;
  22.  
  23.  


Utilizo el IDE Netbeans en su version 6.7.1 :)


Título: Re: Remover Componentes de un Contenedor
Publicado por: gasoft en 28 Noviembre 2009, 00:45 am


Wiiiiii ! Encontramos el Problema.; gracias a L-EYER ; descubrimos que la razon de que JTextPane no se mostrara si no cuando se diera clic fuera del componenete era el vendito JScrollPane,

Entonces la solucion fue quitar el JScrollPane del JTextPane y luego vincularlos de nuevo.

 
 y funciono XD