/**
  * Renvoie la proglet demandé.
  *
  * @return la proglet ou null sinon.
  */
 public Proglet getProglet(String proglet) {
   for (Proglet p : getProglets())
     if (p.getName().equals(proglet)) {
       return p;
     }
   return null;
 }
 /**
  * Dessine le JPanel en listant les proglets
  *
  * @see ProgletEngine
  * @return Le JPanel dessiné
  */
 private static JPanel shortcutPanel() {
   JPanel shortcuts = new JPanel();
   int i = 0;
   for (Proglet proglet : ProgletEngine.getInstance().getProglets()) i++;
   shortcuts.setLayout(new GridLayout(0, (i / 3) == 0 ? 1 : (i / 3)));
   for (Proglet proglet : ProgletEngine.getInstance().getProglets())
     shortcuts.add(
         JVSStartPanel.createShortcut(
             Macros.getIcon(proglet.getIcon()),
             proglet.getName(),
             proglet.getTitle(),
             new ProgletLoader(proglet.getName())));
   return shortcuts;
 }
 /**
  * Mécanisme de chargement d'une proglet.
  *
  * @param proglet Le nom de la proglet.
  * @return La proglet en fonctionnement ou null si la proglet n'existe pas.
  * @throws IllegalArgumentException Si il y a tentative d'utilisation d'une proglet indéfinie
  */
 public Proglet setProglet(String proglet) {
   if (currentProglet != null) {
     currentProglet.stop();
   }
   currentProglet = null;
   for (Proglet p : getProglets())
     if (p.getName().equals(proglet)) {
       currentProglet = p;
     }
   if (currentProglet == null) {
     throw new IllegalArgumentException(
         "Tentative d'utilisation d'une proglet indéfinie : " + proglet);
   }
   currentProglet.start();
   return currentProglet;
 }