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

Agents de placement/Fenêtres Java Discussion :

Fenêtres figées dans parties d'un SplitPane


Sujet :

Agents de placement/Fenêtres Java

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

    Informations forums :
    Inscription : Février 2003
    Messages : 65
    Points : 73
    Points
    73
    Par défaut Fenêtres figées dans parties d'un SplitPane
    Salut !

    J'ai mon appli swing dans laquelle j'ai intégré 2 JSplitPanes pour diviser l'espace de ma fenêtre principale. Je souhaiterais intégrer une "fenêtre" dans chacune des subdivisions de ma fenêtre principale.
    Mes "fenêtres" à intégrer ne doivent comporter qu'une barre de titre et un JPanel dessous.
    Comment dois-je m'y prendre pour cela ? Quels conteneurs dois-je utilliser dans les zones définies par mes SplitPanes ? (je suis un peu perdu dans les JFrame / JInternalFrame / JDesktopPane / JWindow / ...)

    Merci beaucoup !
    "Un clavier AZERTY en vaut deux."
    http://www.stateofmind.fr (Java, Maven2, Swing, Design Patterns, ...)

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    tu vas avoir du mal à contraindre tes JInternalFrame à rentrer dans tes JSplitPanes... Pourquoi ne places-tu pas simplement directement un JPanel dans chaque, avec un JLabel pour afficher le titre ?
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

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

    Informations forums :
    Inscription : Février 2003
    Messages : 65
    Points : 73
    Points
    73
    Par défaut
    il me faut 3 fenêtres (correspondant à mes jSplitPanes) avec chacun une barre de titre (sans les bouton de fermeture, iconifier, maximiser) et il faut que ces fenêtres soient ajustables en taille. Donc je ne vois pas comment me passer des JSplitPanes. Tu as une idée ?
    "Un clavier AZERTY en vaut deux."
    http://www.stateofmind.fr (Java, Maven2, Swing, Design Patterns, ...)

  4. #4
    Membre émérite
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Points : 2 410
    Points
    2 410
    Par défaut
    il me faut 3 fenêtres avec chacun une barre de titre (sans les bouton de fermeture, iconifier, maximiser)
    Est ce que c est pas realisable avec des JPanel munis de BorderLayout ?
    Si tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    JPanel monPanel = new JPanel(new BorderLayout());
     
    monPanel.add(new JLabel("Le titre de ton splitPane"), BorderLayout.NORTH);
    monPanel.add(new JTextArea(), BorderLayout.CENTER);
    Ca ressemble assez a ce que tu decris.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

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

    Informations forums :
    Inscription : Février 2003
    Messages : 65
    Points : 73
    Points
    73
    Par défaut
    Oui, cela ressemble un peu à un JPanel avec un JLabel dans le haut sauf que mon client souhaite visuellement avoir une barre de titre à la place du label. Donc il veut une fenêtre avec une barre de titre sur un beau fond bleu Windaub (ou en fonction du look and feel) sans les boutons classiques en heut à droite d'une fenêtre traditionnelle..
    Le seul problème, c'est que je n'y arrive pas, je ne sais pas quoi utilliser....
    "Un clavier AZERTY en vaut deux."
    http://www.stateofmind.fr (Java, Maven2, Swing, Design Patterns, ...)

  6. #6
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    il me faut 3 fenêtres (correspondant à mes jSplitPanes) avec chacun une barre de titre (sans les bouton de fermeture, iconifier, maximiser) et il faut que ces fenêtres soient ajustables en taille.
    Ca correspond assez bien à la description de ce qu'on peut faire avec des JInternalFrame :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    JInternalFrame myFrame = new JInternalFrame("Mon titre");
    myFrame.setClosable(false);
    myFrame.setMaximizable(false);
    myFrame.setIconifiable(false);
    myFrame.setResizable(true);
    (tu as également un constructeur de JInternalFrame qui permet de passer ces 4 propriétés en paramètres)
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

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

    Informations forums :
    Inscription : Février 2003
    Messages : 65
    Points : 73
    Points
    73
    Par défaut
    Merci GrandFather !
    Oui, je pense aussi que je dois utiliser une JInternalFrame. Mais je n'arrive pas à la voir quand je l'ajoute dans un JDesktopPane.
    Pourrais-tu me dire dans quel container je dois ajouter la JInternalFrame pour qu'elle remplisse une des parties de mon JSplitPane ?
    "Un clavier AZERTY en vaut deux."
    http://www.stateofmind.fr (Java, Maven2, Swing, Design Patterns, ...)

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Février 2003
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 65
    Points : 73
    Points
    73
    Par défaut
    ah ! ça marche enfin. J'avais juste oublié le setVisible(true).
    Par contre, je n'arrive pas encore à la faire occuper tout l'espace du JDesktopPane.
    "Un clavier AZERTY en vaut deux."
    http://www.stateofmind.fr (Java, Maven2, Swing, Design Patterns, ...)

  9. #9
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Pourrais-tu me dire dans quel container je dois ajouter la JInternalFrame pour qu'elle remplisse une des parties de mon JSplitPane ?
    A priori, tu ne peux pas ! Si tu utilises les JInternalFrame, tu dois abandonner le JSplitPane.
    Les JInternalFrame sont normalement placées dans un JDesktopPane, lui même inséré dans un JFrame. Un exemple de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // constructeur du JFrame
    public MyFrame(String title) {
      super(title);
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      // Création du Desktop
      JDesktopPane myDesk = new JDesktopPane();
      setContentPane(myDesk);
      // création des fenêtres internes
      JInternalFrame f = new JInternalFrame("Nom", true, false, false, false);
      f.setBounds(0, 0, 100, 100);
      myDesk.add(f);
      f.setVisible(true);
      ...
    Si tu veux partager le contenu de ton JFrame entre tes 3 JInternalFrame, et que lorsque ton utilisateur redimensionne une des fenêtres internes, les 2 autres soient automatiquement redimensionnés, il faut que tu écrives aussi un DesktopManager. Bref, il va falloir pas mal de code. AMHA, tu devrais utiliser la solution du JSplitPane avec le JPanel, et bidouiller les couleurs de fond pour faire un zouli titre Windows...
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Février 2003
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 65
    Points : 73
    Points
    73
    Par défaut
    Les JPanels semble une meilleure solution.
    Merci beaucoup !
    "Un clavier AZERTY en vaut deux."
    http://www.stateofmind.fr (Java, Maven2, Swing, Design Patterns, ...)

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

Discussions similaires

  1. fenêtres "figées" sur un bord de l'écran
    Par pitchopingo dans le forum Windows
    Réponses: 5
    Dernier message: 11/07/2006, 19h41
  2. Réponses: 11
    Dernier message: 06/12/2005, 08h23
  3. Réponses: 3
    Dernier message: 25/07/2005, 14h58
  4. Delphi - Fenêtre OpenGL dans PaintBox.
    Par joseph74 dans le forum OpenGL
    Réponses: 7
    Dernier message: 26/05/2004, 13h49
  5. Fenêtre OpenGL dans dialogbox
    Par Tom Joad dans le forum OpenGL
    Réponses: 2
    Dernier message: 25/07/2003, 11h33

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