Tester l'existence d'un composant dans un conteneur?

Tester l'existence d'un composant dans un conteneur? - Java - Programmation

Marsh Posté le 23-04-2008 à 19:43:30    

Bonjour,  
 
Débutant en Java, après de multiples recherches infructueuses sur le net, la javadoc etc..., je me suis décidé à poster ici au cas où une âme généreuse pourrait m'aider  :D  
 
Voila, j'aimerais tout simplement savoir s'il existe un moyen de vérifier l'existence d'un composant (dans mon cas, une JTable) dans un conteneur (dans mon cas, un JPanel). J'aimerais tester si une JTable est présente dans mon panel, afin de la supprimer le cas échéant (JPanel.remove(JTable) si je ne m'abuse?).
 
Merci de votre aide!

Reply

Marsh Posté le 23-04-2008 à 19:43:30   

Reply

Marsh Posté le 26-04-2008 à 11:26:53    

Container#remove(Component) de Swing semble vérifier l'existence de l'élément dans le conteneur avant de le supprimer (même si la spec ne dit rien). Tu n'as donc a priori qu'à appeler cette méthode sans te soucier de son existence.
 
Tu peux toujours t'en assurer avec une méthode toute simple du style :

Code :
  1. boolean containsComponent(Container container, Component component) {
  2.  for (Component containedComponent : container.getComponents()) {
  3.    if (containedComponent == component) {
  4.      return true;
  5.    }
  6.  }
  7.  return false;
  8. }


Message édité par sielfried le 26-04-2008 à 12:37:04

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 28-04-2008 à 11:59:41    

il me semble que les méthodes du type "remove" vérifient la "nullité" de l'objet avant de le supprimer, et s'il est "null" alors rien ne se passe... je sais plus ou j'ai lu ça.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed