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 :

[Débutant] Mettre une fenêtre au premier plan


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de richard_sraing
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2005
    Messages : 483
    Par défaut [Débutant] Mettre une fenêtre au premier plan
    Bonjour à tous,

    Voilà mon problème est très simple.
    J'ai une application que je dois réaliser dans le cadre de l'école. Je suis donc obligé de travailler avec le JDK 1.4.2 (on ne peut pas prendre plus récent )

    Donc mon problème est le suivant. J'ai mon application avec une fenêtre principale, qui contient le main et 3 autres fenêtres que j'utilise pour que l'utilisateur puisse s'identifier.

    Donc, lorsque je lance mon applic, je lance la fenêtre princiaple qui s'initialise et ensuite, celle-ci va charger la fenêtre de Login.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    FrPrincipale jfPrincipale = new FrPrincipale();
    jfPrincipale.show();
    DiLogin Login = new DiLogin(jfPrincipale, true);
    Login.show();
    Ensuite, dans ma fenêtre de login, l'utilisateur devra saisir son Identifiant et son mdp. Je vérifie ces derniers saisi et ensuite, en fonction de si ils correspondent ou pas, j'affiche les fenêtre de LoginFailed ou LoginSuccess.

    Pour la fenêtre de success:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Auth_Success AS = new Auth_Success(new javax.swing.JFrame(), true);
    AS.show();
    setVisible(false);
    dispose();
    et pour la fenêtre de failed:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Auth_Failed AF = new Auth_Failed(new javax.swing.JFrame(), true);
    AF.show();
    setVisible(false);
    dispose();
    Le problème qui se pose à moi maintenant, c'est que lorsque l'utilisateur à saisi ses données, la fenêtre de signalisation (Success ou Failed) s'affiche mais en arrière plan. Je pense savoir pourquoi, je "dispose" la fenêtre de Login après avoir fait appel à l'une ou l'autre des fenêtres de signalisation, mais je souhaiterais que ces dernières s'affiche en premier plan.
    Voir même si possible, empêcher le fait de pouvoir faire quoique ce soit avant de les avoir fermer.

    J'espère avoir été clair dans mes explications, et si jamais quelqu'un parmis vous voit une solution à mon problème, je serait très heureux de pouvoir la lire rapidement .

    Merci d'avance pour vos conseils et remarques,

    Richard_sraing

    Oups, j'allais oublier, toute les fenêtres sont des JFrames.

  2. #2
    Membre éprouvé
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Par défaut
    Et bien tu as la méthode toFront() que tu utilises comme ceci :
    Cependant, certains systèmes d'exploitation peuvent empecher les fenêtres de se mettre en avant, et dans ce cas, il n'y a aucune possibilité à ma connaissance. Bonne chance.

  3. #3
    Membre éclairé Avatar de richard_sraing
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2005
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Avril 2005
    Messages : 483
    Par défaut
    boh, je ne sais pas, mais ça ne marche pas.

    Je le teste sous WinXp Pro.
    il n'y a pas un paramètres qu'on peut passer à ue fenêtre lors de sa création qui permet de lui dire de se placer au premier plan?

    du genre quand je fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    AS.Show(<un paramètre>);
    où <un paramètre> permetterais de la faire passer au premier plan?

    Mais comme je disais dans la première partie, je pense qu'il ne veut pas passer le "focus" aux fenêtres de signalisation car je "dispose" la fenêtre de login et qu'elle revient donc à la fenêtre principale.

    Je ne sais pas, c'est notre premier dossier en java et le seul par dessus tout, ai donc pas vraiment eu le temps de jouer avec tout ça avant

  4. #4
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    Bonjour,

    Je suppose que tes fenêtres sont des JDialog. Dans ce cas, il suffit de, dans l'ordre :
    - disposer la JDialog de login
    - créer la JDialog de succès/échec avec comme parent la fenêtre principale

    Sinon, un simple CardLayout peut te permettre d'utiliser 1 seule fenêtre au lieu de 3.
    "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 éprouvé
    Avatar de Janitrix
    Inscrit en
    Octobre 2005
    Messages
    3 391
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 3 391
    Par défaut
    Citation Envoyé par xavlours
    Bonjour,

    Je suppose que tes fenêtres sont des JDialog.
    Oups, j'allais oublier, toute les fenêtres sont des JFrames.
    Le problème reste le même, c'est toujours compliqué de forcer l'affichage d'une JFrame au premier plan. En plus qu'il est encore au jdk 1.4...

    Je ne vois aucune solution, mais peut être que quelqu'un pourra t'aider.

    Bonne chance.

  6. #6
    Membre éclairé
    Avatar de seiryujay
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    950
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 950
    Par défaut
    Citation Envoyé par richard_sraing
    Oups, j'allais oublier, toute les fenêtres sont des JFrames.
    C'est obligatoire ?
    Parce qu'avec une JDialog modale, c'est tout fait.
    Avec une JFrame, il faut implémenter le truc toi-même et au final, t'auras quelque chose de moins propre...

  7. #7
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    , j'avoue, j'ai lu en diagnoale.
    Et +1 pour serijuray.
    "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.

Discussions similaires

  1. Mettre une fenêtre au premier plan après un splashscreen
    Par peofofo dans le forum Agents de placement/Fenêtres
    Réponses: 10
    Dernier message: 26/04/2013, 09h37
  2. Réponses: 5
    Dernier message: 27/08/2007, 10h40
  3. Réponses: 2
    Dernier message: 20/12/2006, 14h31
  4. Comment mettre une fenêtre au premier plan?
    Par damien99 dans le forum MFC
    Réponses: 11
    Dernier message: 30/08/2006, 11h37
  5. Mettre une fenêtre au premier plan
    Par Riko dans le forum Delphi
    Réponses: 4
    Dernier message: 20/06/2006, 19h30

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