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 :

Fenetre modale en Java pour l' authentification


Sujet :

AWT/Swing Java

  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 23
    Par défaut Fenetre modale en Java pour l' authentification
    Bonjour,
    Je suis sur un projet de conception d'application pour gérer un cyber dans un environnement Ubuntu 8.10.
    J'avais l'intension, puisque l'application d'administration est écrite en PHP, de concevoir la fenêtre d'authentification en PHP-GTK. Mais j'ai rencontré un bug. Cela me signal "Segmentation Fault à chaque fois que le client dans l'un des champs de saisi, appui sur la touche entrée. Je suis en train de chercher une solution sur le net mais en vain.
    Alors je me suis décidé à utiliser JAVA. Cependant, je ne sais pas comment bloquer tout les bureaux de Gnome avec jFrame ou JDialog, et surtout mettre la fenetre en modale.
    SVP aidez moi donc!

  2. #2
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    salut,
    pour la JFrame, tu utilises la méthode setAlwaysOnTop(true)
    pour la JDialog, tu précises dans le constructeur si elle est modal ou pas, et aussi la méthode setAlwaysOnTop pour qu'elle soit tjrs au dessus des autres fenêtres

  3. #3
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 23
    Par défaut Fenetre modale en Java pour l' authentification
    Tout d'abord merci de ton intervention!
    En utilisant setAlwaysOnTop(), je me suis rendu compte qu'après avoir exécuté le programme, si je lance une autre fenêtre, cela reste derrière mais puisque le bouton de réduction existe et avec la combinaison de touches Ctrl+Alt+D, le client peut facilement réduire la fenêtre et travailler! SVP y'a-t-il un moyen d'empêcher cela?
    De plus, la fenêtre n'occupe qu'un seul bureau! Comment remedier à cela?
    Merci

  4. #4
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    salut,
    en ce qui concerne les bureaux multiples, c'est spécifique à gnome et kde je crois, donc je ne pense pas qu'il y ait une solution dans l'api standard, pour ce qui est de la réduction de la fenêtre, tu pourrais par exp enlever carrément la barre de titres, et avec elles les boutons de fermeture et réduction avec la méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    taFrame.setUndecorated(true);

  5. #5
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 23
    Par défaut
    Merci! Je ne sais pas si cela dépend de mon OS, mais la barre de titre est toujours présente avec les 2 boutons -quitter-réduire-

  6. #6
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    même après l'appel de setUndecorated ??
    j'ai souvent utilisé cette méthode et ça m'enlevait toute la barre.
    bizarre que ça marche pas!!

  7. #7
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 23
    Par défaut
    Je crois que l'erreur vient de moi même. En effet, j'avais écris une fonction evenementielle (onIconified ou quelque chose de ce genre). Cela me signal un avertissement mais s'exécute quand même toutefois avec le bouton réduire et quitter!
    Pour résumer, les fonctions:
    frm.setVisible(true);
    frm.toFront();
    frm.setAlwaysOnTop(true);
    frm.setUnDecored'true);

    me permettent d'obtenir facilement ma fenêtre d'authentification! Merci

    Encore un problème...
    Je suis sous ubuntu et la fenêtre ne couvre pas les deux bureaux! Aidez moi SVP!

  8. #8
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    c'est pas la peine de mettre toFront()
    sinon, pour les bureaux multiples, personnellement j'en sais rien, et puis c'est une fonctionnalité de gnome puisque tu es sous ubuntu, donc... aucune idée...


    désolé, mais j'avais tort.
    il y a un moyen d'afficher la JFrame dans différents bureaux
    voici une solution, mais j'ai pas testé si ça marche ou pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
    //on récupère tous les bureaux
    GraphicsDevice[] devices = ge.getScreenDevices();
    //on crée un tableau de frame, chaque bureau aura une frame
    JFrame[] frames = new JFrame[devices.length];
    for (int j = 0; j < devices.length; j++) {
    	GraphicsDevice gd = devices[j];
    	GraphicsConfiguration gc = gd.getDefaultConfiguration();
    	frames = new JFrame(gc);
            //suite du code sur les frames
    }

  9. #9
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 23
    Par défaut
    Une fois encore je te remercie pour l'aide que tu m'as apporté!
    Ouf! Je vais maintenant passer à la connexion entre base de données mysql et mon application!
    Bonne soirée

  10. #10
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    testes d'abord le code que j'ai mis
    peut-être que ça marchera

  11. #11
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 23
    Par défaut
    Je le ferai aussitôt arrivé au service demain matin!
    Bonne soirée!

  12. #12
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    j'ai testé le code, et ça ne marche pas, ça s'affiche seulement sur un bureau.
    désolé

  13. #13
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 23
    Par défaut
    Chez moi, jle compilateur me signale des erreurs de déclarationb de type. Voici un extait de mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
    //on récupère tous les bureaux
    GraphicsDevice[] devices = ge.getScreenDevices();
    //on crée un tableau de frame, chaque bureau aura une frame
    static JFrmConnexion[] frmConnexion;
    frmConnexion = new JFrmConnexion[devices.length];
    for (int j = 0; j < devices.length; j++) {
        GraphicsDevice gd = devices[j];
        GraphicsConfiguration gc = gd.getDefaultConfiguration();
        frmConnexion = new JFrmConnexion(gc);
            //suite du code sur les frames
    }
    Peux tu me débogger cela?
    Merci

  14. #14
    Membre émérite Avatar de herch
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    655
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2006
    Messages : 655
    Par défaut
    salut,
    j'ai testé le code et ça ne marchait, donc pas la peine de se casser la tête avec. ça affichait seulement sur un bureau.

  15. #15
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 288
    Par défaut
    mario002e, j'aimerais comprendre ton besoin. Que cherches tu as faire ?

    De ce que je comprends, tu as un système qui marche mais sans authentification. Et tu voudrais rajouter une fenêtre bloquante.

    Question: Que se passera-t-il si un petit malin contourne ta fenêtre ?

    Une fenêtre modale empêche de revenir à la fenêtre principale mais ne bloque pas tout l'OS...

  16. #16
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 690
    Par défaut
    Je ne comprend pas pourquoi tu n'utilise pas tout simplement les fonctionnalités de gnome pour gérer le login. Après tout c'est bien son travail a lui

  17. #17
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 288
    Par défaut
    Uther, ta question va dans le même sens que la mienne. Mais on est au niveau du navigateur. Pas au niveau de l'OS. Il avait une page html de connexion (générée par PHP) et a abandonné pour java (une applet je suppose). Dommage pour PHP. Je ne vois pas pourquoi l'identification PHP marcherait partout sauf chez lui.

  18. #18
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 690
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Uther, ta question va dans le même sens que la mienne. Mais on est au niveau du navigateur. Pas au niveau de l'OS. Il avait une page html de connexion (générée par PHP) et a abandonné pour java (une applet je suppose). Dommage pour PHP. Je ne vois pas pourquoi l'identification PHP marcherait partout sauf chez lui.
    Je ne suis pas sur que l'on soit au niveau du navigateur. Il parle de Gtk-PHP, or Gtk n'est pas une techno web mais d'application. Et utiliser java sous forme d'applet aurait probablement posé quelque problèmes pour faire ce genre de chose.
    Enfin il n'est nulle part, il me semble, fait mention d'applet ou d'autre technologie purement web.

    Je me trompe peut-être mais il serait bien que l'on aie confirmation de la part de mario002e sur ce point.

Discussions similaires

  1. Fenetre modale java
    Par lolodev dans le forum Android
    Réponses: 2
    Dernier message: 07/09/2011, 07h33
  2. Fenetres modales en java
    Par kam81 dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 29/12/2007, 11h17
  3. Touche "Entrée" et fenetre modale
    Par pascalT dans le forum Composants VCL
    Réponses: 5
    Dernier message: 21/07/2004, 16h57
  4. [débutant]ou mettre un fichier java pour une appli jsp?
    Par zozolh2 dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 11/05/2004, 15h20
  5. java pour gsm
    Par matterazzo dans le forum Développement Mobile en Java
    Réponses: 3
    Dernier message: 11/11/2003, 02h52

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