A voir également:
- Creation fenetre Java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Creation compte gmail - Guide
- Java apk - Télécharger - Langages
- Création site web - Guide
1 réponse
Posotaz
Messages postés
489
Date d'inscription
samedi 23 juin 2007
Statut
Membre
Dernière intervention
19 juin 2011
225
25 janv. 2009 à 17:17
25 janv. 2009 à 17:17
Bonjour,
Une aspirine ? :D
Tu vas devoir tout faire toi-même, c'est à dire implémenter le drag de la fenêtre, la détection de la position de la souris par rapport à chaque bord de la fenêtre, le changement des icônes,... Bref, bon courage ! Tout d'abord je te conseille de commencer sur une fenêtre vierge (en d'autres mots ne lui ajoute aucun composant sinon tu ne vas pas comprendre pourquoi les événements sur la fenêtre ne fonctionnent pas).
Pour ce faire, tu pourras, grâce à Java, ajouter un MouseMotionListener sur la fenêtre :
La méthode mouseMoved te permettra de détecter les déplacements de souris. Tu feras un calcul de position par rapport aux bords de la fenêtre. Tu pourras laisser une marge d'erreur de 10 pixels côté intérieur par exemple (facilement calculable avec des soustractions de la hauteur/largeur de la fenêtre et getLocationOnScreen).
Les différentes flèches pour le curseur peuvent être appliquées à la Frame grâce à la méthode setCursor et les constantes présentes dans la classe Cursor. Là aussi en fonction du bord ce sera à toi de définir quel curseur afficher (horizontal, vertical,...). Tu as donc plusieurs types de bords à détecter : les 4 coins et les 4 côtés pour 4 icônes différentes seulement.
La méthode mouseDragged te permettra de détecter les déplacements de souris lorsque le bouton gauche est enfoncé (c'est à dire ce qu'on fait quand on veut redimensionner la fenêtre). Il te suffira de jouer sur les propriété de taille de la fenêtre pour que ça corresponde aux mouvements de l'utilisateur... sans oublier de bloquer sur des dimensions trop petites ou négatives...
En gros tu es parti pour refaire toi-même la gestion d'une fenêtre... réfléchis-bien si ça t'est vraiment indispensable, moi-même m'y suis juste risqué sans avoir vraiment développé la chose (je n'ai fait que le déplacement, le plus facile à faire et encore c'est pas tip top, et la détection du bord inférieur droit sans redimensionnement). Sinon essaie peut-être de voir du côté des LookAndFeel s'il n'y en a pas un qui conserve les événements système d'une fenêtre mais qui donne l'impression que les bords soient inexistants... c'est juste une idée comme ça, je ne sais pas si c'est réellement faisable.
Une aspirine ? :D
Tu vas devoir tout faire toi-même, c'est à dire implémenter le drag de la fenêtre, la détection de la position de la souris par rapport à chaque bord de la fenêtre, le changement des icônes,... Bref, bon courage ! Tout d'abord je te conseille de commencer sur une fenêtre vierge (en d'autres mots ne lui ajoute aucun composant sinon tu ne vas pas comprendre pourquoi les événements sur la fenêtre ne fonctionnent pas).
Pour ce faire, tu pourras, grâce à Java, ajouter un MouseMotionListener sur la fenêtre :
La méthode mouseMoved te permettra de détecter les déplacements de souris. Tu feras un calcul de position par rapport aux bords de la fenêtre. Tu pourras laisser une marge d'erreur de 10 pixels côté intérieur par exemple (facilement calculable avec des soustractions de la hauteur/largeur de la fenêtre et getLocationOnScreen).
Les différentes flèches pour le curseur peuvent être appliquées à la Frame grâce à la méthode setCursor et les constantes présentes dans la classe Cursor. Là aussi en fonction du bord ce sera à toi de définir quel curseur afficher (horizontal, vertical,...). Tu as donc plusieurs types de bords à détecter : les 4 coins et les 4 côtés pour 4 icônes différentes seulement.
La méthode mouseDragged te permettra de détecter les déplacements de souris lorsque le bouton gauche est enfoncé (c'est à dire ce qu'on fait quand on veut redimensionner la fenêtre). Il te suffira de jouer sur les propriété de taille de la fenêtre pour que ça corresponde aux mouvements de l'utilisateur... sans oublier de bloquer sur des dimensions trop petites ou négatives...
En gros tu es parti pour refaire toi-même la gestion d'une fenêtre... réfléchis-bien si ça t'est vraiment indispensable, moi-même m'y suis juste risqué sans avoir vraiment développé la chose (je n'ai fait que le déplacement, le plus facile à faire et encore c'est pas tip top, et la détection du bord inférieur droit sans redimensionnement). Sinon essaie peut-être de voir du côté des LookAndFeel s'il n'y en a pas un qui conserve les événements système d'une fenêtre mais qui donne l'impression que les bords soient inexistants... c'est juste une idée comme ça, je ne sais pas si c'est réellement faisable.
25 janv. 2009 à 18:00
Je vai me risquer a essayer quand même, au pire, ca me fera un b entrainement
Ciao