Votre question

JAVA interface graphique

Tags :
  • Java
  • Programmation
Dernière réponse : dans Programmation
9 Janvier 2006 20:39:39

Salut,

Je travaille avec 2 fenetres JFrame, une principale et une secondaire. La secondaire est partiellement recouverte par la principale , ne laissant visible qu'un bouton. Lorsque je clique sur ce bouton, la fenetre secondaire glisse sur le coté jusqu'à ne plus être recouverte par la premiere, genre de menu coullissant.

Le probleme est que lorsque je pousse sur le bouton, la fenetre secondaire apparait une fraction de seconde au dessus de la fenetre principale. Ce que je voudrais éviter, j'ai essayé de mettre
addWindowListener(new WindowAdaptrer(){
public void windowActivated(WindowEvent e)
{
fenetreprinc.setAlwaysOnTop(true);
}
});
dans le constructeur de la fenetre secondaire, mais il est trop lent la premiere fois que j'active la fenetre sec il passe devant, en plus je ne sais pas encore où je devrais le désactiver si ca marchait correctement.

Et l'inconvénient du setAlwaysOnTop(true) est qu'il interagit aussi avec les autres programmes qui n'ont rien avoir.

Si vous pouvez m'aider, me donner d'autres pistes, ... ce serait sympa
Merci

Autres pages sur : java interface graphique

a b L Programmation
9 Janvier 2006 22:02:59

ça fait longtemps que j'ai plus touché au Java, mais je crois me rappeler que le JFrame est un peu lourd, ne peux-tu pas utiliser tout simplement un JFrame et 2 JPanel ? (en fait je vois pas trop ce que tu veux faire :-D )

Sinon comme le swing rame pas mal, le mieux étant de redéfinir la méthode paint() pour le JFrame qui ne devrait pas apparaitre. Je m'explique: le paramètre de paint() est un Graphics qui contient, entre autres, la zone graphique à redessiner. Il suffit de réduire cette zone de clipping à la partie visible, et la partie cachée ne se réaffichera pas.

Lorsqu'une interface graphique devient complexe et que l'on voit que ça rame un peu, il faut limiter au miximum le nombres objets Java et prendre les plus simples possibles. Par exemple, tu pourrais redéfinir tes 2 JFrame en un seul, et tout gérer toi-même (affichage et inputs)
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS