Partage
  • Partager sur Facebook
  • Partager sur Twitter

Supprimer GridLayout ou vider fenetre

vider la fenêtre sans la fermer!

Sujet résolu
    20 avril 2017 à 21:41:03

    Bonjour à tous!

    Je suis sur un petit projet, ici deux classes m'intéressent.

    Souris qui est une implémentation de MouseListener, et Visuel dont une des méthode (afficherWIN), est d'afficher dans une fenêtre un tableau d'image (Forme). Dans souris, à chaque fois que je passe sur un nouvel élément et clique dessus, je le modifie, puis rappel la fonction afficherWIN.

    Pour ce faire j'ai utilisé une méthode qui fonctionne assez bien. J'ouvre à chaque fois une nouvelle fenêtre contenant les formes. Sauf que ouvrir, fermer, ouvrir, fermer une fenêtre à chaque clic, (dans un programme qui en demande beaucoup...) n'est pas envisageable en terme de gestion d'interface et de performances. DONC, je cherche à SOIT vider la fenêtre et donc refaire simplement un GridLayout sans supprimer la fenêtre (éviter de voir les fenêtres clignoter a chaque clic), SOIT supprimer directement le GridLayout.

    public void afficherWIN(char[][] tab){
    	windows= new Ouvrir(750,500);
    	char valeur;
    	windows.setLayout(grille);
    	Souris mouse= new Souris (tab);
    	for (int i=0;i<10;i++){
    	    for (int j=0;j<15;j++){
    		    valeur=tab[i][j];
    		    Forme gemme= new Forme(valeur,i,j); 
    		    windows.add(gemme);
    		    gemme.addMouseListener(mouse);
    	    }
    	}
    	windows.setVisible(true);
    	i++;
    }

    Merci ! ^^

    -
    Edité par Creirwy Bobd 20 avril 2017 à 21:42:14

    • Partager sur Facebook
    • Partager sur Twitter
      21 avril 2017 à 0:13:22

      Bon j'ai pas très bien compris ce que vous voulez dire , mais pour vider un panel, essayer la methode 
      windows.removeAll();
      • Partager sur Facebook
      • Partager sur Twitter
      MSKD
        21 avril 2017 à 8:59:32

        Pour supprimer le layout, utilise la méthode setLayout(null)
        • Partager sur Facebook
        • Partager sur Twitter
          21 avril 2017 à 12:17:33

          aucune des deux méthodes ne fonctionnent...

          -
          Edité par Creirwy Bobd 21 avril 2017 à 12:17:44

          • Partager sur Facebook
          • Partager sur Twitter
            21 avril 2017 à 13:35:55

            Essaye avec : this.getContentPane().removeAll()
            • Partager sur Facebook
            • Partager sur Twitter

            Supprimer GridLayout ou vider fenetre

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown