Info-bulle et/ou systray

Résolu
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 - 8 mai 2007 à 18:24
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 - 9 mai 2007 à 18:08
Bonjour a tous.
j'aimerais avoir deux renseignements:
le premier, comment peut - on connait la taille de la barre des taches ?
le deuxième, comment afficher un message dans une bulle (!= de tooltiptext) semblable a displayMessage de la class tray icon (se serait pour une fenetre)?

merci.

6 réponses

Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
8 mai 2007 à 18:46
Salut:

Pour la hauteur des barres de tâches il faut le faire en JNI mais pour en déduire sa largeur tu peux utiliser la méthode :

Toolkit.getDefaultToolkit ().getScreenSize ();

Tout simplement parceque, la largeur de la barre de tâche est égal à la taille de l'écran.

pour Windows on peut faire comme suit:

// En C/C++
#include <windows.h>

int getHeight () {
    HWND hWnd = FindWindow ("Shell_TrayWnd", NULL);
    if (!hWnd) {
       // En cas d'échec
       return -1;
    }
   
    RECT rect;
    if (GetWindowRect (hWnd, &rect)) {
       // La hauteur de la barre de tâches
       return (int)(rect.bottom - rect.top);
    }

   

// En cas d'échec



    return -1;
}
3
Twinuts Messages postés 5375 Date d'inscription dimanche 4 mai 2003 Statut Modérateur Dernière intervention 14 juin 2023 111
9 mai 2007 à 09:43
Salut,

sinon si ton but est de mettre du swing dans le systray plustot que de l'awt voici un exemple qui te montre comment faire (pris 16181&tstart=15 ICI)

import java.awt.event.*;
import javax.swing.*;
import org.jdesktop.jdic.tray.*;
 
publicclass TrayTest {
 
publicstaticvoid main(String[] args) {

Icon icon = new ImageIcon(TrayTest.class.getResource("alert_obj.gif"));

JPopupMenu menu = new JPopupMenu();
menu.add(new JMenuItem("Test 1"));

menu.addSeparator();

JMenu subMenu = new JMenu("Test 2");
subMenu.add(new JMenuItem("Test 3"));

menu.add(subMenu);

menu.addSeparator();

JMenuItem exit = new JMenuItem("Exit");

exit.addActionListener(new ActionListener() {
publicvoid actionPerformed(ActionEvent e) {
System.exit(0);
}
});

menu.add(exit);

TrayIcon tray = new TrayIcon(icon, "My Caption", menu);

SystemTray.getDefaultSystemTray().addTrayIcon(tray);

}
}

------------------------------------
"On n'est pas au resto : ici on ne fait pas dans les plats tout cuits ..."

WORA
3
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
8 mai 2007 à 19:21
Salut.
merci. effectivement, lors de ma recherche je suis tomber sur ton code (dans code source).
0
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
8 mai 2007 à 19:50
Salut:

Je me demande pourquoi tu veux savoir la hauteur de la barre de tâche.
J'ai lit ton message concernant les JPopupMenu en dirait que tu veux faire ton propre API systray.

Si oui, n'oublie pas la portabilité.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Ombitious_Developper Messages postés 2333 Date d'inscription samedi 28 février 2004 Statut Membre Dernière intervention 26 juillet 2013 38
9 mai 2007 à 17:52
Salut:

Merci c'est très simple à utiliser.
0
didoux95 Messages postés 845 Date d'inscription mardi 25 avril 2006 Statut Membre Dernière intervention 1 août 2017 2
9 mai 2007 à 18:08
merci a tous les deux.
0
Rejoignez-nous