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 :

fermeture fenêtre = fin application ?


Sujet :

AWT/Swing Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Points : 50
    Points
    50
    Par défaut fermeture fenêtre = fin application ?
    Bonjour !

    Je viens de commencer la programmation graphique.

    Dans le livre de claude delannoy, je lis ceci :

    On peut imposer à la fenêtre de type JFrame, un comportement lors de la fermeture en lui appliquant la méthode setDefaultCloseOperation()
    avec l' un des arguments suivants :
    DO_NOTHING_ON_CLOSE : ne rien faire
    HIDE_ON_CLOSE : cacher la fenêtre (par défaut)
    DISPOSE_ON_CLOSE : détruire la fenêtre
    EXIT_ON_CLOSE : mettre fin à l' application
    Le problème, c' est que ces champs ne marchent pas. Alors, j' ai remarqué que l' argument requis est en fait de type int (en regardant la plate forme web de java).

    J' ai donc supposé que c' était un tableau de valeurs qui, comme tout tableau digne de ce nom commençait par zéro.
    J' ai donc pensé que EXIT_ON_CLOSE serit en position 3. Et ça a marché. Je suis tout de suite très flatée. Mais ai-je utilisé le bon raisonnement ?

    Des explications SVP !
    C'est à force de programmer qu'on devient un bon programmeur

  2. #2
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 83
    Points : 95
    Points
    95
    Par défaut
    Hello !

    C'est le même mécanisme que les constantes en C, chaque chaine correspond à un entier.

    C'est plutot comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    JFrame window = new JFrame();
    window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    T'as eu de la chance que ça ait marché.

  3. #3
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par Nayila Voir le message
    J' ai donc pensé que EXIT_ON_CLOSE serit en position 3. Et ça a marché. Je suis tout de suite très flatée. Mais ai-je utilisé le bon raisonnement ?
    Tu as surtout eu beaucoup de chance

    Si tu avait jeter un coup d'oeil à la documentation de setDefaultCloseOperation(i), tu aurais vu qu'il s'agit en fait de constante défini dans WindowConstants, donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setDefaultCloseOperation(SwingConstant.EXIT_ON_CLOSE);
    a++

    [edit] Grillé

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Points : 50
    Points
    50
    Par défaut
    Citation Envoyé par adiGuba Voir le message
    Salut,



    Tu as surtout eu beaucoup de chance

    Si tu avait jeter un coup d'oeil à la documentation de setDefaultCloseOperation(i), tu aurais vu qu'il s'agit en fait de constante défini dans WindowConstants, donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setDefaultCloseOperation(SwingConstant.EXIT_ON_CLOSE);
    a++

    [edit] Grillé
    Okay, Okay ! J' ai vu cette page qui parle des windowConstants. Je ne vois pas à quel nombre entier correspond ces constantes.

    Merci de m'avoir fait découvrir mon erreur. J'ai agi comme si les constantes étaient définies dans mon programme. c' est pour cela que ça n'a pas marché.

    Alors, ces nombres constants ? ... que sont-ils exactement ?
    C'est à force de programmer qu'on devient un bon programmeur

  5. #5
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Nayila Voir le message
    Alors, ces nombres constants ? ... que sont-ils exactement ?
    Quel intérêt y-a-t-il à connaitre leurs valeurs ?

    a++

  6. #6
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 60
    Points : 55
    Points
    55
    Par défaut
    Ces "nombres constants" comme tu les appelles peuvent être assimilés à des DEFINE en C.
    C'est une sorte d'alias que tu donnes à une valeur primitive (souvent de type int) pour éviter de mettre cette valeur en dur dans le code et pour augmenter la lisibilité.
    Et vu qu'on est dans le cadre de la programmation orientée objet, ces constantes sont regroupées par classe et déclarées comme étant public static final.
    public : pour être accessible de l'extérieur
    static : car elle ne dépend pas d'une instanciation précise de la classe
    final : pour dire que c'est une constante et qu'elle ne peut plus être modifiée au cours de l'exécution du programme.
    Voilà, j'espère que ça répond à ta question.

    Yelbied

  7. #7
    Expert confirmé
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Points : 4 015
    Points
    4 015
    Par défaut
    Bonjour tu veux savoir les int associés
    voila
    Code Sun Microsystems : 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
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
    /**
     * Constants used to control the window-closing operation.
     * The <code>setDefaultCloseOperation</code> and 
     * <code>getDefaultCloseOperation</code> methods
     * provided by <code>JFrame</code>,
     * <code>JInternalFrame</code>, and
     * <code>JDialog</code>
     * use these constants.
     * For examples of setting the default window-closing operation, see 
     * <a
     href="http://java.sun.com/docs/books/tutorial/uiswing/components/frame.html#windowevents">Responding to Window-Closing Events</a>,
     * a section in <em>The Java Tutorial</em>.
     * @see JFrame#setDefaultCloseOperation(int)
     * @see JDialog#setDefaultCloseOperation(int)
     * @see JInternalFrame#setDefaultCloseOperation(int)
     * 
     *
     * @version 1.22 11/17/05
     * @author Amy Fowler
     */
    public interface WindowConstants
    {
        /**
         * The do-nothing default window close operation.
         */
        public static final int DO_NOTHING_ON_CLOSE = 0;
     
        /**
         * The hide-window default window close operation
         */
        public static final int HIDE_ON_CLOSE = 1;
     
        /**
         * The dispose-window default window close operation.
         * <p>
         * <b>Note</b>: When the last displayable window
         * within the Java virtual machine (VM) is disposed of, the VM may
         * terminate.  See <a href="../../java/awt/doc-files/AWTThreadIssues.html">
         * AWT Threading Issues</a> for more information.
         * @see java.awt.Window#dispose()
         * @see JInternalFrame#dispose()
         */
        public static final int DISPOSE_ON_CLOSE = 2;
     
        /**
         * The exit application default window close operation. Attempting
         * to set this on Windows that support this, such as
         * <code>JFrame</code>, may throw a <code>SecurityException</code> based
         * on the <code>SecurityManager</code>.
         * It is recommended you only use this in an application.
         *
         * @since 1.4
         * @see JFrame#setDefaultCloseOperation
         */
        public static final int EXIT_ON_CLOSE = 3;
     
    }

    Citation Envoyé par adiGuba
    Quel intérêt y-a-t-il à connaitre leurs valeurs ?
    Peut etre mettre directement un "int" au lieu de "WindowConstants.EXIT_ON_CLOSE" par exemple ça serait une mauvaise habitude car ça serait pas evident pour une lecture du code
    Cordialement
    Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !

    Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells

Discussions similaires

  1. Attendre la fin d'un événement avec fermeture de l'application
    Par abbepierre94 dans le forum Silverlight
    Réponses: 8
    Dernier message: 10/11/2011, 18h07
  2. Réponses: 1
    Dernier message: 29/06/2010, 11h06
  3. Réponses: 1
    Dernier message: 14/06/2010, 16h24
  4. [Desktop Application] fermeture fenêtre
    Par provodkation dans le forum NetBeans
    Réponses: 3
    Dernier message: 08/09/2009, 13h26
  5. Fermeture fenêtre de login sans fermer l'application
    Par dodi1 dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 07/07/2009, 23h27

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