Ouvrir une appli sur tout l'ecran avec setExtendedState

cs_coucounet Messages postés 83 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 16 février 2005 - 27 août 2003 à 15:55
cs_coucounet Messages postés 83 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 16 février 2005 - 28 août 2003 à 16:08
Bonjour,

Je voudrai savoir quels sont les diffrentes valeurs possibles pour la variable setExtendedState qui consiste a ouvrir en grand ou non la fenetre java au demarrage de l'appli.

Pour info je sais que :
0 : la fenetre est reduite
15 : la fenetre est ouverte au maximum

Si quelqu'un a des infos, ou un super site web, ou quelque chose comme ca pour aider ceux qui en auraient besoin et pour enrichir ma culture java, merci de repondre.

:question) 8-) 8-) koukounet 8-) 8-) :question)

4 réponses

mimah Messages postés 35 Date d'inscription samedi 16 août 2003 Statut Membre Dernière intervention 11 novembre 2003
28 août 2003 à 08:56
Salut,

Je te conseille de travailler avec les constantes des classes et non avec des entier comme tu le fait. Les valeurs possibles pour setExtendedState sont (pour jdk 1.4):
Frame.ICONIFIED
Frame.NORMAL
Frame.MAXIMIZED_BOTH
Frame.MAXIMIZED_HORIZ
Frame.MAXIMIZED_VERT

Pour savoir pour les autres versions cf. la javadoc!
La javadoc est l'outil INDISPENSABLE du programmeur Java.

Bon courage!
cs_coucounet Messages postés 83 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 16 février 2005
28 août 2003 à 10:06
Merci bien,
Je m'etais renseigné de ce cote la aussi, mais ce qu'il me paraissait bizarre c'est qu'avec NetBeans il n'accepte que des entiers !!! Les constantes que tu m'a donné sont refusées !!!
Attention, lorsque je dis qu'avec NetBeans elles sont refusées, je veux dire que si on utilise les outils de développement il ne l'accepte pas.
Mais bien sur, (et c'est que j'ai fait), si on rajoute du code manuellement en mettant ces constantes => no problem !!!
Je te remercie quand meme d'avoir repondu, c'est tres louable de ta part.
Si quelqu'un connait la conversion avec les entiers je suis intéressé de la connaitre.

Merci

:question) 8-) 8-) koukounet 8-) 8-) :question)
mimah Messages postés 35 Date d'inscription samedi 16 août 2003 Statut Membre Dernière intervention 11 novembre 2003
28 août 2003 à 13:22
Je ne vois pas pourquoi il n'accepte pas les constantes puisque les constantes sont des entiers.

Si tu veux voir les valeurs entière des constantes il faut aller voir dans le code de la classe Frame et tu trouves :

/**
     * Frame is in the "normal" state.  This symbolic constant names a
     * frame state with all state bits cleared.
     * @see #setExtendedState(int)
     * @see #getExtendedState
     */
    public static final int NORMAL = 0;

    /**
     * This state bit indicates that frame is iconified.
     * @see #setExtendedState(int)
     * @see #getExtendedState
     */
    public static final int ICONIFIED = 1;

    /**
     * This state bit indicates that frame is maximized in the
     * horizontal direction.
     * @see #setExtendedState(int)
     * @see #getExtendedState
     * @since 1.4
     */
    public static final int MAXIMIZED_HORIZ = 2;

    /**
     * This state bit indicates that frame is maximized in the
     * vertical direction.
     * @see #setExtendedState(int)
     * @see #getExtendedState
     * @since 1.4
     */
    public static final int MAXIMIZED_VERT = 4;

    /**
     * This state bit mask indicates that frame is fully maximized
     * (that is both horizontally and vertically).  It is just a
     * convenience alias for
     * <code>MAXIMIZED_VERT | MAXIMIZED_HORIZ
.
*
* Note that the correct test for frame being fully maximized is
*
* (state & Frame.MAXIMIZED_BOTH) == Frame.MAXIMIZED_BOTH
*

*
* To test is frame is maximized in some direction use
*
* (state & Frame.MAXIMIZED_BOTH) != 0
*

*
* @see #setExtendedState(int)
* @see #getExtendedState
* @since 1.4
*/
public static final int MAXIMIZED_BOTH = MAXIMIZED_VERT | MAXIMIZED_HORIZ;
</code>

Tu vois ce sont des entiers, donc je comprend pas pourquoi NetBeans ne les accepte pas.
Il te donne quoi comme erreur?
cs_coucounet Messages postés 83 Date d'inscription jeudi 24 juillet 2003 Statut Membre Dernière intervention 16 février 2005
28 août 2003 à 16:08
Merci bien pour cette aide,

en fait quand je dis que ne l'accepte pas NetBeans c'est a dire que lorsque j'utilise les outils de NetBeans et que je met comme valeur MAXIMIZED_BOTH, un message d'erreur apparait me disant qu'il n'accepte que les entiers et moi je lui passe une chaine !!!
Mais si on veut etre plus futé, il suffit de taper soit meme la ligne de code :

> setExtendedState(MAXIMIZED_BOTH);

Et dans ce cas tout fonctionne tres bien, car c'est du java !!!
Dans tous les cas tu as raison en disant que "ca devrait fonctionner" car les concepteurs de NetBeans n'ont pas été tres futés de faire passer des entiers dont on ne connait meme pas la valeur, alors que dans la doc java il n'y a que des constantes (java.sun.com).

Voila merci, maintenant j'y vois un peu plus clair sur certains points !!!

:question) 8-) 8-) koukounet 8-) 8-) :question)
Rejoignez-nous