SWT - Forcer une fenêtre à rester en arrière plan

SWT - Forcer une fenêtre à rester en arrière plan - Java - Programmation

Marsh Posté le 12-07-2007 à 12:14:04    

Bonjour,  :)  
 
Je suis un débutant avec SWT (j'ai déjà utilisé SWING, cela dit). Je cherche désespérément à afficher une fenêtre qui resterait tout le temps en arrière plan : quand on cliquerait dessus, elle ne passerait donc jamais en avant-plan. Ce serait donc l'inverse d'une boîte de dialogue modale. Le programme doit tourner sous Linux (surtout sur Red Hat, SuSe et Red Flag). Quelqu'un aurait-il une idée pour faire ça ?  :ouch:  
 
Merci d'avance !

Reply

Marsh Posté le 12-07-2007 à 12:14:04   

Reply

Marsh Posté le 12-07-2007 à 16:19:13    

ça va pas t'aider, mais, c'est quoi l'intérêt ?


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 12-07-2007 à 17:52:45    

Moi non plus je ne vois pas l'intérêt pour l'instant, mais mon tuteur m'a demandé de faire ça pour mon stage, donc je n'ai pas le choix...

Reply

Marsh Posté le 12-07-2007 à 18:46:04    

tuteur entreprise ?
 
il a rien à te faire faire, donc il cherche des trucs qui servent à rien...
 
t'aurais été dans le bâtiment, il t'aurai demandé un tourne-vis pour gauché.


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 13-07-2007 à 04:24:39    

Bah, j'entends bien, mais en attendant, il me réclame une solution. Personne n'a une idée ?  :(

Reply

Marsh Posté le 13-07-2007 à 09:11:42    

bha y a pas moyen sur le onfocus de donner le focus à une autre de tes fenêtres ?


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 13-07-2007 à 09:43:22    

Je ne peux pas faire ça parce que je ne pourrais pas donner d'ordre à d'autres fenêtres si ce n'est pas moi qui les gère : il faut que cette fenêtre-ci reste systématiquement au fond de l'écran, quelque soit la fenêtre qui est ouverte. Peut-être par contre que je peux me débrouiller pour essayer de tuer le onFocus de ma fenêtre... à voir...

Reply

Marsh Posté le 13-07-2007 à 09:52:53    

tu veux que ta fenêtre reste en arrière plan quelque soit l'application qui est en avant plan ?
 
ça me semble être plus proche du système d'exploitation ça (bureau), non ?


---------------
HFR - Mes sujets pour Chrome - Firefox - vérifie les nouveaux posts des topics suivis/favoris
Reply

Marsh Posté le 13-07-2007 à 09:57:51    

Oui, c'est ce que je me dis aussi. Du coup je voulais le faire en C++ mais il veut absolument le faire en Java. En fait, je ne sais pas à quoi ça sert pour l'instant parce que je fais mon stage en Chine et que je n'ai pas encore bien compris l'énoncé du stage. En gros, je crois qu'il s'agit d'une espèce de logiciel qui permettrait de lancer d'autres applications, comme un desktop, oui.
 
J'ai trouvé un début de piste : si je fais un setEnabled(false) sur le shell, effectivement, on ne peut plus le remettre en avant-plan. Mais du coup, forcément, on ne peut plus faire d'action sur la fenêtre...

Reply

Marsh Posté le 13-07-2007 à 11:57:10    

Si je me passe des listeners, je peux contourner le problème en lisant directement les données de la souris dans la boucle while (!shell.isDisposed()), en passant par display.getCursorLocation(). Là ça marche, je peux avoir ma fenêtre qui reste en arrière-plan, et lire les informations de la souris dans mon programme. C'est crade, mais le principal, c'est que ça fonctionne, pour l'instant.
 
Le problème, du coup, c'est que ça consomme beaucoup de ressources parce que je travaille dans le while, mais en cherchant, je dois pouvoir trouver un moyen pour limiter ça. Ce qui est plus inquiétant par contre, c'est que je ne peux pas savoir si un bouton de la souris est cliqué, et que je suis incapable de trouver comment lire les informations qui viennent du clavier. Quelqu'un connaîtrait-il une commande SWT qui me permettrait de lire les informations sur l'état des boutons de la souris, et lire l'entrée du clavier, sans passer par un listener ?
 
Merci... :bounce:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed