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 :

setIcon pour JInternalFrame


Sujet :

AWT/Swing Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Points : 76
    Points
    76
    Par défaut setIcon pour JInternalFrame
    Bonjour tout le monde!

    jvous explique rapidement ma structure :
    j'ai une interface principale (de type JFrame) "IReception".
    celle-ci permet d'ouvrir (entre autre) "ICreateproject" et "IUpdateProject", de type JInternalFrame

    je souhaite faire en sorte que, lors de l'ouverture d'une JInternalFrame, les éventuelles autres JInternalFrame déjà ouvertes soient iconifiées.

    J'ai tout d'abord pensé créer un tableau de booléen pour savoir quelles internal frame sont ouvertes, et vérifier à chaque ouverture d'une nouvelle internal frame si d'autres sont déjà ouverte (auquel cas je les iconifie). Cependant vous remarquerez que c'est trés tordu pour spécifier que tel index i du tableau correspond à telle JInternalFrame...

    C'est pourquoi je me demandais si il n'existe pas de fonction permettant, lors de l'ouverture d'une JInternalFrame, d'iconifier toutes les autres déjà ouvertes...

    j'espère que j'ai été clair

    Merci d'avance
    Juan

  2. #2
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    Il n'existe pas de fonction toute faite, mais tu peux essayer de t'accomoder de ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    	/**
             * Iconifies all the internal frames
             */
    	public void iconifyAll() {
    		JInternalFrame[] tabInt = myDesk.getAllFrames();
    		for (int i = 0; i < tabInt.length; i++)
    			try {
    				tabInt[i].setIcon(true);
    			} catch (PropertyVetoException e) {
    				e.printStackTrace();
    			}
    	}
    +++
    Ju
    "Il y a 3 personnes en ce monde sur qui tu peux compter : moi, le pape et le cavalier solitaire ! "
    Penser à svp

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Points : 76
    Points
    76
    Par défaut
    génial ça marche impec avec cette fonction !! merci beaucoup ju

    par contre bizarement j'ai une erreur avec du coup je l'ai remplacé par tout cours... mais tant qu'à faire jvoudrais savoir pourquoi :

    et pendant que j'y suis, tu penses que c'est possible de faire en sorte que si seulement 2 JInternal Frame sont ouvertes, dès que l'on en ferme une, ça désiconifie l'autre

    ciao
    Juan

  4. #4
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    Peut-être que PropertyVetoException est dans une version du JDK > à la tienne...
    En ce qui concerne ton problème pour 2 InternalFrames, il faut que tes internaleframes notifient qu'elles se ferment à ton desktop pane qui agencera celles qui restent correctement (mosaïque, cascade, plein écran pour celle qui reste...)
    +++
    Ju
    "Il y a 3 personnes en ce monde sur qui tu peux compter : moi, le pape et le cavalier solitaire ! "
    Penser à svp

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Points : 76
    Points
    76
    Par défaut
    ok. Je sais que ça doit être dans la faq ou dans la doc mais comment faut-il procéder pour gérer l'affichage en cascade :
    Juan

  6. #6
    Membre éclairé Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Points : 724
    Points
    724
    Par défaut
    Bon ben tient
    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
     
    /**
             * Arrange the internal frames in cascade
             */
    	public void arrangeCascade() {
    		//_cascade = true;
    		JInternalFrame[] frames = myDesk.getAllFrames();
    		// Calcul the number of internal frames non iconified
    		_nbFrames = frames.length;
    		int n = _nbFrames;
    		for (int i = 0; i < _nbFrames; ++i)
    			if (frames[i].isIcon())
    				--n;
    		for (int i = 0, j = n - 1; i < _nbFrames; ++i, --j)
    			if (!frames[i].isIcon())
    				frames[i].setBounds(j * _depX, j * _depY, getWidth() / 2,
    						getHeight() / 2);
    	}
    Je sais pas pourquoi mais je l'attendais
    "Il y a 3 personnes en ce monde sur qui tu peux compter : moi, le pape et le cavalier solitaire ! "
    Penser à svp

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2005
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 288
    Points : 76
    Points
    76
    Par défaut
    merci beaucoup
    Juan

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Focus] Probleme pour selectionner une JInternalFrame
    Par bulbo dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 23/05/2009, 13h22
  2. Touche Ctrl + Tab pour changer de JInternalFrame
    Par atha2 dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 31/08/2007, 01h12
  3. Réponses: 4
    Dernier message: 12/09/2005, 19h23
  4. Taille minimum pour une JFrame ou une JInternalFrame
    Par sixkiller dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 30/11/2004, 15h26
  5. [Débutant] JFontChooser pour JinternalFrame...
    Par doudine dans le forum AWT/Swing
    Réponses: 10
    Dernier message: 10/08/2004, 12h02

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