IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

Fermer une JPanel


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Mars 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 1
    Par défaut Fermer une JPanel
    bonjour

    est ce que quelqu'un pourrait me dire si c'est possible de fermer une JPanel avec un bouton...
    car
    this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); ne fonction pas car c un JPanel et pas une JFrame...
    voila je sais pas si c clair!..

    merci

  2. #2
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Ben un JPanel est forcément contenu dans autre chose (JFrame, JInternalFrame, voire un autre JPanel...), donc je ne comprend pas vraiment ta question.

    Pour fermer un JPanel, il faut fermer le composant qui le contient.

    Il faudrait que tu explique mieux ce que tu veux faire...

  3. #3
    Membre chevronné Avatar de NeptuS
    Profil pro
    Inscrit en
    Août 2005
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 392
    Par défaut
    je crois que je vois ce que tu veux....
    je te fais 1 ptit bout de code pour expliquer ce que disait Descent

  4. #4
    Membre chevronné Avatar de NeptuS
    Profil pro
    Inscrit en
    Août 2005
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 392
    Par défaut
    et voilou :
    (bon, c'est du vite fait)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
     
     
    import java.awt.GridLayout;
     
    import javax.swing.*;
    import java.awt.event.*;
     
    public class Test extends JFrame {
     
    	Test me;
     
    	public Test() {
    		me = this;
    		getContentPane().setLayout(new GridLayout(0, 1));
     
    		JPanel jpAj = new JPanel();
    		JButton jbAj = new JButton("Ajouter");
    		jbAj.addActionListener(new ActionListener() {
    			public void actionPerformed(ActionEvent ae) {
    				final JPanel jpSupr = new JPanel();
    				JButton jbSupr = new JButton("Enlever");
    				jbSupr.addActionListener(new ActionListener() {
    					public void actionPerformed(ActionEvent ae) {
    						me.getContentPane().remove(jpSupr);
    					me.center();
    					}
    				});
    				jpSupr.add(jbSupr);
    				me.getContentPane().add(jpSupr);
    				me.center();
    			}
    		});
    		jpAj.add(jbAj);
    		getContentPane().add(jpAj);
    		center();
     
    		setDefaultCloseOperation(EXIT_ON_CLOSE);
    		setResizable(false);
     
    		setVisible(true);
    	}
     
    	private void center() {
    		pack();
    		int h = getHeight() + 10;
    		int w = getWidth() + 10;
    		setSize(w, h);
     
    		java.awt.Dimension scrn = getToolkit().getScreenSize();
    		setLocation((int) (scrn.getWidth() - w) / 2,(int) (scrn.getHeight() - h) / 2);
    	}
     
    	public static void main(String[] args) {
    		new Test();
    	}
    }

  5. #5
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 819
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 819
    Par défaut
    Et puis sinon, on peut toujours faire un:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tonPanel.setVisible(false);
    ça ne le ferme pas, mais ça le cache...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  6. #6
    Membre chevronné Avatar de NeptuS
    Profil pro
    Inscrit en
    Août 2005
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 392
    Par défaut
    lol plegat : fait le sur un million de JPanel, même avec 1.5Go de RAM je te garantis le résultat

    Le Garbage Collector est ton ami

  7. #7
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 819
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 819
    Par défaut
    Oui, bon, enfin là, c'est pas sur un million, c'est sur un... cela dit, mon million de panels, contre ton million de panels et ton million de listeners... je demande à voir qui va craquer le premier!

    Fermer un panel, c'est pas un besoin très catholique... donc je propose des solutions en conséquence!
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  8. #8
    Membre chevronné Avatar de NeptuS
    Profil pro
    Inscrit en
    Août 2005
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 392
    Par défaut
    mais moi j'ai le Garbage Collector de mon côté :
    si j'ouvre et je ferme successivement 1 million de JPanel, aucun pb de mémoire (1 tout petit poil plus long ... mais alors un tout ptit chouya (rien à voir avec Battle Royale) )

    alors que toi

  9. #9
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 819
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 819
    Par défaut
    ... alors que moi j'affiche et je cache mon unique panel... aucun problème mémoire non plus... même si je le fais un million de fois! En prime, aucune création d'objet, donc je dois être un tout petit poil plus rapide que ton poil à toi!

    On ne va pas se chicaner, faudrait savoir ce que veut exactement faire looping12 avec son panel... Il a deux manières de faire, ça lui permettra de choisir...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  10. #10
    Membre chevronné Avatar de NeptuS
    Profil pro
    Inscrit en
    Août 2005
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 392
    Par défaut
    lol .... y'a toujours plein de manières ... je suis même certain qu'il en existe une plus rapide et moins volumineuse que celles qu'on a proposées.

  11. #11
    Membre éprouvé Avatar de White Rabbit
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 122
    Par défaut
    troll power

  12. #12
    Expert confirmé

    Profil pro
    Fabricant et casseur d'avions
    Inscrit en
    Avril 2004
    Messages
    3 819
    Détails du profil
    Informations personnelles :
    Localisation : France, Tarn (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fabricant et casseur d'avions
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2004
    Messages : 3 819
    Par défaut
    Citation Envoyé par White Rabbit
    troll power
    C'est pas un troll, c'est une confrontation de solutions...
    Je n'ai pas vu une seule fois dans ce post les mots "Linux" ou ".NET" ou "Eclipse"...
    "Errare humanum est, sed perseverare diabolicum"

    Ma page sur DVP.com

  13. #13
    Membre chevronné Avatar de NeptuS
    Profil pro
    Inscrit en
    Août 2005
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 392
    Par défaut
    ayé !! t'as pronomcé les mots tabouuuus !!!

Discussions similaires

  1. Fermer une JDialog modale à partir d'un bouton contenu dans un JPanel
    Par Alqualonde dans le forum Agents de placement/Fenêtres
    Réponses: 18
    Dernier message: 02/03/2007, 14h20
  2. Fermer une application Windows
    Par telecnop dans le forum Langage
    Réponses: 20
    Dernier message: 28/06/2006, 21h15
  3. Fermer une fenêtre au bout d'un certain temps.
    Par cprogil dans le forum Composants VCL
    Réponses: 5
    Dernier message: 27/11/2003, 18h25
  4. [VB6]Fermer une application avec VB
    Par Mylou dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 04/04/2003, 21h32
  5. Fermer une application à l'aide de OnIdle
    Par Thierry Rapp dans le forum Composants VCL
    Réponses: 2
    Dernier message: 29/08/2002, 12h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo