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 :

JInternalFrame + JDesktopPane


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    bfb
    bfb est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 44
    Par défaut JInternalFrame + JDesktopPane
    Bonjour,

    voila j'ai un probleme un peu bete. J'utilise un JDesktopPane dans lequel j'ajoute au fur et a mesure des JInternalFrame. L'utilisateur demarre l'appli ouvre une JDialog selectionne un produit puis valide et la j'ajoute une JInternalFrame a mon desktop (JDesktopPane). Jusqu'ici pas de probleme. La je ferme ou je reduis cette premiere fenetre. Je reouvre ma JDialog puis je selectionne de nouveau un produit, je clique sur valider et la rien!! La JInternalFrame n'est pas visible.

    Je precise que j'utilise la meme methode pour ajouter mes JInternalFrame a mon JDesktopPane, que si je fais appel a la methode getAllFrames() sur mon desktop il me met bien qu'il y a 2 JInternalFrame (dans le cas ou je reduis). Il n'y a de plus aucune erreur qui s'affiche lors de l'ouverture de la fenetre. De plus ceci est valable pour toutes les JInternalFrame de mon appli que je veux ouvrir apres. Si je veux ouvrir une autre fenetre de consultation la non plus ca ne s'affiche pas et pourtant c'est une autre classe.

    Voila le code pour l'ajout de mes JInternalFrame.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    private void addFrameToDesktop(JInternalFrame frame){
    		frame.setSize(600,600);
    		frame.setVisible(true);
    		desktop.add(frame);
    	    try {
    	        frame.setSelected(true);
    	    } catch (java.beans.PropertyVetoException e) {e.printStackTrace();}
    	}
    Si quelqu'un avait une idee ca m'aiderait bien

    Merci par avance

  2. #2
    Membre expérimenté Avatar de schneidb
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    236
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 236
    Par défaut
    le problème vient peut être du fait que setSelected n'est pas suffisant: faut-il rajouter setVisible(true) ? quoi que je dis ptet une connerie...

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2004
    Messages
    201
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2004
    Messages : 201
    Par défaut
    Voila un petit bout de code qui fait ce que tu veux et qui fonctionne très bien.

    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
     
    public void actionPerformed(ActionEvent e) {
    		if (instance == null) {
    			instance = GestionBovin.getIntance();
    			desktop.setAutoscrolls(true);
    			instance.getContentPane().add(desktop);
    		}
    		o = e.getSource();
    		if (o == itemClose) {
    			System.exit(0);
    		}
    		if (o == itemPrint) {
    			c = instance.getFocusOwner();
    		}
    		if (o == itemAchat) {
    			Achat jIF = new Achat();
    			desktop.add(jIF);
    			jIF.toFront();
    		}
    		if (o == itemNaissance) {
    			Naissance jIF = new Naissance();
    			desktop.add(jIF);
    			jIF.toFront();
    		}
    		if (o == itemSortie) {
    			Sortie jIF = new Sortie();
    			desktop.add(jIF);
    			jIF.toFront();
    		}
    		if (o == itemIntervention) {
    			Intervention jIF = new Intervention();
    			desktop.add(jIF);
    			jIF.toFront();
    		}
    		if (o == itemListBovin) {
    			List_bovin jIF = new List_bovin();
    			desktop.add(jIF);
    			jIF.toFront();
    		}		
    		if (o == itemStock) {
    			Stock jIF = new Stock();
    			desktop.add(jIF);
    			jIF.toFront();
    		}
    	}
    De plus, n'utilise pas la méthode getSelected mais toFront()

  4. #4
    bfb
    bfb est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 44
    Par défaut
    Et bien merci pour ta reponse.

    En fait j'avais deja teste le toFront() mais avec le setSelected et la ou je trouve ca tres bizarre c'est qu'en enlevant le setSelected et en conservant le toFront ca fonctionne. Je pense tout de meme qu'il doit y avoir autre chose mais bon pour l'instant ca fonctionne et c'est bien. Je reviendrais si je trouve une autre explication.

  5. #5
    Membre éprouvé

    Inscrit en
    Septembre 2004
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 108
    Par défaut
    dans ton premier code, inverse le 2 lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
          frame.setVisible(true); 
          desktop.add(frame);
    Logiquement, on ajoute la frame au desktop et ensuite on fait setVisible();
    et ça marche sans

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
           try { 
               frame.setSelected(true); 
           } catch (java.beans.PropertyVetoException e) {e.printStackTrace();}
    essaie et tiens nous au courant

Discussions similaires

  1. JInternalFrame,JDesktopPane dans un JPanel
    Par sakli dans le forum Composants
    Réponses: 3
    Dernier message: 27/11/2008, 17h19
  2. [SWING] JDesktopPane ou JInternalFrame
    Par PoPeio dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 30/03/2006, 17h08
  3. [SWING] Problème avec JInternalFrame et JDesktopPane
    Par rprom1 dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 23/03/2006, 12h56
  4. JInternalFrame et JDesktopPane
    Par Traz dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 13/03/2006, 11h26
  5. [JDesktopPane] Problème lors de l'insertion d'une JInternalFrame
    Par Invité dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 21/09/2005, 02h38

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