Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1619 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java]Petit problème interface graphique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java]Petit problème interface graphique

n°2037782
patny
Posté le 23-11-2010 à 12:45:02  profilanswer
 

Bonjour,  :)  
Je suis débutant en Java et je suis tombé sur un problème sur un de mes programmes.
En gros mon programme affiche une fenêtre et dans cette fenêtre des cases remplies de ronds de 4 couleurs différentes (toujours les mêmes, mais tous les ronds sont remplis aléatoirement- paint(Graphics g).  
J'ai une méthode booléenne qui gère l'état des cases (elle teste si la couleur d'une case est égale à une de mes 4 couleurs sinon  la case est vide).  
Pour vider une case j'utilise une méthode qui met la valeur de la couleur de cette case à null. Lorsque j'appelle cette méthode, la case est vidée, en gros elle a la même couleur que le fond de ma fenêtre (setBackground non défini).
Jusque là je n'ai de problème, il survient lorsque je survole avec le pointeur de ma souris une case pleine.Si après avoir fait ça je survole une case vide, elle  prend automatiquement la couleur de la case pleine que je viens de survoler alors qu'elle est censée rester vide .  
Savez vous à quoi cela est dû ?:??:  
Merci. :hello:  
 

mood
Publicité
Posté le 23-11-2010 à 12:45:02  profilanswer
 

n°2038792
patny
Posté le 27-11-2010 à 10:56:05  profilanswer
 

J'ai résolu mon problème en faisant apparaitre et disparaitre ma fenêtre en un laps de temps très court avec setVisible, donc sans que l'on puisse voir qu'elle a vraiment disparue.
 
Cependant j'en ai un autre qui sera peut-être facile de me donner des réponses.
En gros j'ai créé une barre d'état dans ma fenêtre dans  laquelle je veux fait apparaitre le contenu d'une variable dynamique grâce à setText:

Code :
  1. JLabel Barre = new JLabel();
  2. Barre.setBorder(new EtchedBorder());
  3. Barre.setText("Nombe de clics: "+nbclics);
  4. this.add(Barre,BorderLayout.SOUTH);


 
J'ai un MouseListener, qui à chaque fois que je clique dans ma fenêtre incrémente un entier nommé nbclics. Lorsque je fais apparaitre le contenu de ce nbclics dans la console, il n'y pas de problème, la valeur de cette variable est incrémentée à chaque clics. Cependant elle ne l'est pas dans ma barre d'état. J'ai aussi essayé de transformé nblics en <String> avec "String.valueOf", ça ne semble pas marcher. Une idée ?
 

n°2038794
breizhbugs
Posté le 27-11-2010 à 11:42:09  profilanswer
 

Bonjour, il faut que tu mettes
Barre.setText("Nombe de clics: "+nbclics);
dans ton mouselisterner de façon a mettre a jour le texte de la barre d'état a chaque clic


---------------
Seul Google le sait...
n°2038795
patny
Posté le 27-11-2010 à 11:55:57  profilanswer
 

Merci, ça marche!
 En fait il faut définir la barre d'état entière dans le MouseListener.

n°2038839
breizhbugs
Posté le 27-11-2010 à 22:07:36  profilanswer
 

Nan
 faut juste mettre le setText dans le mouseListener, la barre d'état tu la définis dans ta classe et tu l'ajoutes à la fenêtre a l'initialisation de celle-ci


---------------
Seul Google le sait...

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java]Petit problème interface graphique

 

Sujets relatifs
Probleme URL RewriteDébutant, problème master mind en C.
[Java] Threads et IPC : meilleure solution ?probléme en commande batch
probleme de tri en c. efficacité de l'algorithme..interface graphique avec jwel
Probleme taille de log oraclepetit programme de tri en c
Compilation Flex+Java 
Plus de sujets relatifs à : [Java]Petit problème interface graphique


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR