2009-06-28 19 views
3

L'utilisation de Java permet-elle d'afficher une forme/image personnalisée qui se comporte comme la fonction TrayIcon.displayMessage() en ce qu'elle s'affiche juste au-dessus de la barre d'état système pendant un certain temps puis disparaît?Est-il possible d'afficher un formulaire personnalisé en Java qui ressemble à TrayIcon.displayMessage()?

Je cherche également un moyen d'afficher plusieurs notifications en même temps en les faisant s'afficher les unes au-dessus des autres.

Sinon, comment puis-je trouver l'emplacement des pixels dans le coin inférieur gauche juste au-dessus de la barre d'état système?

Répondre

0

Je ne pense pas qu'il existe un raccourci pour dessiner des cadres qui agissent exactement comme les TrayIcons standard (avec le bouton x dans le coin) qui prennent en charge l'empilement s'apparentant aux notifications Mac Growl.
vous devrez probablement l'implémenter vous-même.
J'ai trouvé que l'empilement de messages comme celui-ci est une perte de temps complète car l'utilisateur ne fera pas attention à eux - le meilleur emplacement pour ceux-ci est dans la zone d'état de l'application dans un menu contextuel simple.
Vous pouvez utiliser java.awt.GraphicsEnvironment. getLocalGraphicsEnvironment() pour obtenir des informations sur le bureau, qui contient 'getMaximumWindowBounds()' qui prend soin de choses comme la position de la barre des tâches.
Vous pouvez utiliser une sous-classe d'un fichier javax.swing.JWindow pour créer une fenêtre sans bordure pouvant être positionnée sur le bureau par rapport au coin inférieur droit. Cela ne fonctionnera pas toujours comme icône de la barre d'état par défaut, car l'emplacement du générateur d'icônes peut être ailleurs. Vous pouvez ajouter un bouton qui agit comme le bouton «x» d'une fenêtre de bureau standard - mais cela dépendra de la plateforme.
J'utilise des fenêtres carrées qui s'empilent depuis le coin supérieur droit si j'utilise LTR, et cela semble bien fonctionner.