begin process at 2012 02 13 15:21:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Java

 > 

Archives

 > 

Divers

 > 

Comment rafraîchir une fenêtre ?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comment rafraîchir une fenêtre ?

samedi 1 octobre 2005 à 13:57:42 | Comment rafraîchir une fenêtre ?

GuyJava

Bonjour,

J'ai un bout de codes qui doit faire apparaître successivement un dessin toujours à la même place : Le dessin précédent laisse la place un autre en fonction d'une action sur un bouton.

Depuis une classe Tester, passe en argument à une classe Photo, ne nom de l'image à dessiner si ce dernier existe, et le message pour dire que le dessin n'existe pas.
Ainsi dans Tester, j'ai

if(photoEtudiant!=null) container.add(new Photo(photoEtudiant,null), contraintes);
    else container.add(new Photo(null, message),contraintes);

le code Photo se présente ainsi :

import javax.swing.*;
import java.awt.*;

class Photo extends JPanel
{
 String nomPhoto=null;
 String message=null;
 Image image=null;
 static int i=0;

 public Photo(String _nomPhoto, String _message)
 {
  MediaTracker trackerPhoto=null;

  nomPhoto=_nomPhoto;
  message=_message;


  if(nomPhoto!=null)
  {
   image = Toolkit.getDefaultToolkit().getImage(nomPhoto);
   trackerPhoto = new MediaTracker(this);

   trackerPhoto.addImage(image,0);
   try
   {
    trackerPhoto.waitForID(0);
   }
   catch(InterruptedException exception)
   {
    System.out.println("Echec du pisteur");
    System.exit(0);
   }
  }

 }

 public void paintComponent(Graphics g)
 {
  super.paintComponent(g);

  if(nomPhoto!=null) g.drawImage(image, 0, 0, getWidth(), getHeight(), this);

  else
  {
   Graphics2D g2 = (Graphics2D)g;

   Font fonte = new Font("Century Gothic",Font.PLAIN,14);
   g2.setFont(fonte);
   g2.setPaint(Color.blue);
   g.drawString(message,0,10);
  }
 }
}

mahleureusement, c'est toujours la même photo qui s'affiche (pas de rafraîssiment de la fenêtre). Comment et où dois-je utiliser la procédure repaint() afin d'avoir un raifraissement de la fenêtre ?

Merci par avance pour vos propositiosn de solution.

samedi 1 octobre 2005 à 21:55:47 | Re : Comment rafraîchir une fenêtre ?

kitiara999

FacesContext.getCurrentInstance().renderResponse()

ca devrait marcher....

dimanche 2 octobre 2005 à 08:30:09 | Re : Comment rafraîchir une fenêtre ?

GodConan

verifie que photoEtudiant  ne fait pas toujour reference a la meme image...


++

GodConan
dimanche 2 octobre 2005 à 12:50:31 | Re : Comment rafraîchir une fenêtre ?

GuyJava

Bonjour et merci pour votre proposition.

Je ne sais pas utiliser FacesContext.getCurrentInstance().renderResponse()
Pourriez-vous me donner un exemple d'utilisation avec quelques lignes de codes.

GuyJava
dimanche 2 octobre 2005 à 12:55:31 | Re : Comment rafraîchir une fenêtre ?

GuyJava

Bonjour et merci pour vos nombreuses propostions.

Avec un System.out.println(photoEtudiant); je suis sûr que le nom de l'image change.

GuyJava
dimanche 2 octobre 2005 à 21:50:05 | Re : Comment rafraîchir une fenêtre ?

GodConan

oui en effet mais es tu sure que l'IMAGE change ?!!

GodConan
lundi 3 octobre 2005 à 12:16:25 | Re : Comment rafraîchir une fenêtre ?

GuyJava

Bonjour,

Pourriez-vous me préciser que signifie "IMAGE change" ?

GuyJava
lundi 3 octobre 2005 à 21:29:49 | Re : Comment rafraîchir une fenêtre ?

kitiara999

le nom de l'image peut changer mais est-ce la meme image qui porte deux noms different??..  ca peut paraitre ridicule...

ensuite, le repaint(), tu n'a qua le placer apres avois charger ta nouvelle image et le FacesContext.getCurrentInstance().renderResponse() c'est la meme chose malgres que finalement je ne sois pas sure que ca fonctionne....



repaint tu n'a qu'a écrire la ligne en rose:

public void paintComponent(Graphics g)
 {
  super.paintComponent(g);

  if(nomPhoto!=null) g.drawImage(image, 0, 0, getWidth(), getHeight(), this);

  else
  {
   Graphics2D g2 = (Graphics2D)g;

   Font fonte = new Font("Century Gothic",Font.PLAIN,14);
   g2.setFont(fonte);
   g2.setPaint(Color.blue);
   g.drawString(message,0,10);
  }
   repaint();
 }



1- verifie tes deux images,
2- quand tu dit new Photo(null, message),contraintes);, il me semble que tu ne fais rien dans ton code pour gérer le cas où l'image est null, fais afficher une image bidon juste pour tester ce bout de code

mardi 4 octobre 2005 à 01:22:49 | Re : Comment rafraîchir une fenêtre ?

GodConan

oulala malheureu...  ;o) jamais de repaint() dans la methode paint() .... ;o)



GodConan
mardi 4 octobre 2005 à 12:45:41 | Re : Comment rafraîchir une fenêtre ?

GuyJava

Bonjour,

Je suis de votre avis qu'il ne faut pas invoquer la procédure repaint() dans paintComponent.

Toutefois, comment expliquez-vous et c'est peut être là, la raison du non rafraîchissement de mon écran, qu'au cours d'une même occrurrence que dans le constructeur Photo(), la variable nomPho vaux pierre.jpg et que dans la procédure paintComponent(), nomPhoto comporte toujours le nom de la première photo lors de l'ouverture de la fenêtre ?

Dans ces conditions, image est t-elle réellement mis à jour ? Comment peut t-on vérifier les différentes valeurs de image ?

Merci 


1 2

Cette discussion est classée dans : message, image, fenêtre, photo, nomphoto


Répondre à ce message

Sujets en rapport avec ce message

Impression d'image [ par terminagroo ] Bonjour,C'est peut-être une question stupide mais je me galère avec ça. Alors j'aimerais imprimer une photo à partir d'une application java (swing).Do Pb de setBounds() [ par joduak ] Bonjour! J'ai un petit souci dans mon développement... Je souhaite afficher plusieurs fois la même image dans ma fenêtre. Pour l'afficher j'utilise Pb d'affichage JFrame [ par ducheseb ] Bonjour,Dans une fonction de chargement de fichier, je fais appel à une Classe Loading qui affiche une petite fenêtre (JFrame) avec un message "Charge inserer une image dans une JSP [ par habibou66 ] bonjourje veux réaliser une fiche d'identification avec une page JSP et je veux inserer dedans une photo d'identité. la photo se trouve dans "C:/mesph Nouvelle fenêtre de mon application de traitement d'image Java [ par LiliF69 ] Bonjour à tous, J'ai réalisé un programme de traitement d'images. Celui fonctionne très bien et me donne de bons  résultats. Cependant, je n'arrive pa Aide pour afficher une image [ par RajaEtouil0212 ] Salut, Comment je peut afficher une image dans un JPanel et lorsque je clique sur cette image une fenêtre (JFrame ou autre type de fenêtre)m'apparait Lancement d'une fenêtre contenant une image [ par Bandit_world ] Je suis novice en java et j'ai développé une application graphique. Lors de l'appui sur un bouton je souhaite qu'une frame se lance par dessus mon int image dans message forum [ par aadment ] BjrLa saisie du message dasn votre forum m'interresse ennormement, 1er - est ce que le source est disponible (pardonnez moi je ne connais pas bien les image défilante [ par zenglena9 ] j'ai une fenêtre swing et grâce à un JLabel j'ait ajouté une image dans ma fenêtreen faisant :JLabel img =new JLabel("<span style="FONT-SIZE: 12pt; FO chargement image [ par hidouri ] haydoursalut à tous j'ai fait un programme  JAVA sous Netbeans 6.1 pour afficher une image stockée sur mon disque dur, ç a marche mais le problème est


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 9,313 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales