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 :

[ Swing ] JInternalFrame ou JDialog


Sujet :

Agents de placement/Fenêtres Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut [ Swing ] JInternalFrame ou JDialog
    Bonjour,

    J'ai un menu Fichier > Nouveau > Ecole
    Lors de création d'un nouvelle école, j'ouvre une fenêtre pour entrer un nom d'école.

    Faut-il mieux utiliser un JDialog pour cela ou un JIntrenalFrame ?

  2. #2
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut
    Bonsoir,
    En fait je pense que ca dépend de ce que tu veux réaliser.
    Si tu veux que que ta fentre "nouveau ecole" soit contenu dans ta Frame géneral,tu prend une JInternalFrame et si tu veux creer une fenetre indépendant, tu creer une JDialog ou une JFrame.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Justement, il faudrait au moins que la fnêtre de création s'ouvre dans le même espace que la fenêtre du programme
    et il faut aussi que cette fenêtre de création en puisse pas être mise en arrière plan.

  4. #4
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut
    C'est encore pareil, si tu fais une InternalFrame, ca ira car elle ne peut que être en premier plan,excepté si tu ouvre un nouvelle frame dessus, et si tu choisis de creer un JFrame à la place d'une InternalFrame, je sais qu'il y a une methode pour qu'elle reste devant,je vais essaye de te trouver ca

  5. #5
    Invité
    Invité(e)
    Par défaut
    Ok, super grand merci mais je vais utiliser un JInternalFrame.
    ceci peux peut-être aussi aller pour un JInternalFrame non ?

    et les JPane c'est quoi alors ?

  6. #6
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut
    Pour la JFrame et les autres types de fenetre,la methode c'est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    setAlwaysOnTop(true);
    Afin d'avoir la frame en premier plan même si il y a des autres fenetres

  7. #7
    Invité
    Invité(e)
    Par défaut
    Ok, super merci.
    Mais je vais utiliser un JInternalFrame. peut-être que ceci peux fonctionner..

    et les JPane alors c'est quoi ?

  8. #8
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut
    Ton liens ne fonctionne pas et c'est JPanel que tu voulais me dire nan?

  9. #9
    Invité
    Invité(e)
    Par défaut
    Oui un JPanel pardon.

    Désole pour le lien mais de toutes façon ça ne va pas, c'est une methode setAlwaysOnTop() de JFrame mais y à pas sur JIntrenalFrame..
    C'est sur la faq de Developpez.com : http://java.developpez.com/faq/java/...ierPlanFenetre

  10. #10
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut
    Oui en effet seul les classe héritant de window possedent cette methode et JInternalFrame est consideré comme un JComponent je crois. Mais bon moi je te conseille un bonne petite JFrame avex un setAlwaysOnTop(true).
    JPanel est aussi un Container mais tu ne pourra pas faire de setAlwaysOnTop() non plus car il n'hérite pas de la classe window.

  11. #11
    Invité
    Invité(e)
    Par défaut
    Oui mais un JFrame ne sera pas placé "dans" la fenêtre du programme..

  12. #12
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut
    Oui mais pourquoi veux tu que ta frame soit contenu dans ta frame principale?

  13. #13
    Invité
    Invité(e)
    Par défaut
    Pas spécialement contenue mais qu'elle sois dans le même zone :
    si mon programme prend 800*600 est est à 60px du haut et de la gauche, je trouve que ma seconde fenêtre doit-être dans les 800*600pixels..

    Je trouveça plus proper et plus clair

  14. #14
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut
    si mon programme prend 800*600 est est à 60px
    Je comprend pas trop le 60px
    Mais quand tu creer une JFrame, tu peux lui donner la dimension que tu veux,la placer ou tu veux...

  15. #15
    Invité
    Invité(e)
    Par défaut
    Oui, je peux la placer ou je veux...
    Oui , c'est vrai.

    Mais bon si l'utilisateur dédplace sa fenêtre ou la reduit et qu'elle prend plus que 400px à partir du bord droit de ma fenêtre, si j'ouvre un nouveau JFrame, je vais me retrouver avec une fenêtre qui n'est pas au dessu de la fenêtre principale du programme..

    Mais bon.. Je vais me contenter de ça.


    Merci

  16. #16
    Membre éclairé Avatar de nicotine002
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 577
    Par défaut
    Avec la methode,même si tu ouvre une autre JFrame,elle sera derriere, mias au moment ou une fenetre s'ouvre,tu peux dire à ton programme de faire un setAlwaysOnTop(false) par exemple.

    Si tu veux pas qu'elle soit "redimensionnable", tu fais un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    setResizable(false);
    S tu ne veut pas la "décorer", tu fais un:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    setUndecorated(false)
    Et si tu veux qu on ne puisse pas la bouger, tu fais(mais là je suis plus sûr):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    setFocusableWindowState(false)
    Voilà, j'espère t'avoir aidé un peu.

Discussions similaires

  1. Problème ou Bug de swing avec les JDialogs ?
    Par Wydicule dans le forum Agents de placement/Fenêtres
    Réponses: 2
    Dernier message: 06/11/2010, 16h08
  2. [JInternalFrame][JDialog] Connaître le frame de dépar
    Par TreizeSegments dans le forum Agents de placement/Fenêtres
    Réponses: 7
    Dernier message: 21/07/2009, 10h55
  3. [SWING][JInternalFrame][JDialog] Jdialog non rattachée a sa JinternalFrame
    Par tchoukapi dans le forum Agents de placement/Fenêtres
    Réponses: 0
    Dernier message: 16/01/2008, 13h22
  4. [Débutant][SWING]JInternalFrame
    Par CrashAngel dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 29/04/2006, 23h56
  5. Swing jDialog
    Par pilou007 dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 30/01/2006, 17h39

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