2010-07-20 5 views
2

J'utilise com.jgoodies.forms.builder.PanelBuilder pour ajouter des boutons et des lignes. Puis j'appelle PanelBuilder.getPanel() et attache le panneau à un JPopupMenu. Existe-t-il un moyen de supprimer et rattacher certains des composants attachés du Panel que PanelBuilder a produit: Je veux mixer/enlever dynamiquement l'un des Boutons attachés et la rangée vide correspondante (ajoutée avec PanelBuilder.appendRow ("f: 30px")).jgoodies comment supprimer un composant ajouté avec PanelBuilder?

Merci.

Répondre

0

Si vous avez ketp références à l'élément initial, il n'y a rien qui vous empêche de faire un

myPanel.remove(theComponent); 
+0

Mais la hauteur du panneau n'est pas mise à jour. Je vois une grande ligne vide au dernier index où le composant était avant. Comment traiter avec PanelBuilder.appendRow ("f: 30px") qui a été ajouté avant le bouton qui n'est plus nécessaire après la suppression du bouton? – d56

+1

essayez de faire panel.pack() ou validate() .. ou ayez deux panneaux dans le même emplacement et utilisez la méthode setvisible() du panneau – harshit

2

Retrait du composant fonctionne, mais il laisse la zone de l'espace utilisé sur le panneau. JPanel.revalidate() ne fonctionne que lorsque PanelBuilder.appendRow() n'a pas été utilisé avant d'ajouter JButton.

En outre, je ne pouvais pas rattacher JButton supprimé. Il apparaît dans la liste des composants de JPanel mais n'est pas affiché.

C'est pourquoi je suis allé créer un nouveau JPanel dynamiquement à chaque requête et l'assigner au JPopupMenu.

+0

N'oubliez pas de sélectionner l'une des réponses comme correcte en cliquant sur le vérifiez à côté de l'une de ces réponses. – Riduidel

+1

Que faire si aucune des réponses ne résout vraiment mon problème? – d56

+0

Cochez la réponse qui vous a été la plus utile comme réponse acceptée. C'est valable pour marquer votre propre réponse. – BoffinbraiN

Questions connexes