[JAVA] pb d'affichage image

pb d'affichage image [JAVA] - Programmation

Marsh Posté le 22-01-2002 à 11:40:55    

salut,
 
je crée un ou plusieurs objets Canvas.
 
je dessine une image dans paint() (drawImage...)
 
mais l'image n'apparait pas directement à l'exécution, je suis obligé de cacher la fenêtre de l'appli puis de la réafficher pour voir ce que je veux.
 
et quand je fais un repaint(), c'est la meme chose. Il faut cacher puis remontrer la fenêtre pour rafraîchir.
 
 
Quelqu'un saurait d'ou ca peut venir?


---------------
Je ne suis ni pour, ni contre, bien au contraire  
Reply

Marsh Posté le 22-01-2002 à 11:40:55   

Reply

Marsh Posté le 22-01-2002 à 11:45:07    

balance ton code stp


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Marsh Posté le 22-01-2002 à 11:50:35    

///class principale Frame
public class ChatRoom extends Frame {
 
 
 private FlagIcon trackSelect[] = new FlagIcon[Tracks.TRACKS_NB];
 private TrackIcon iconShow;
 private GridBagConstraints flagsGBC;
   
 public ChatRoom () {
  setLayout(new GridBagLayout());
   
  setLocation(200,0);
   
 
  iconShow = new TrackIcon(0);
  add(iconShow, iconShow.GBC);
   
   
  pack();
   
  setVisible(true);
     
 }
 
 public void selectTrack (int trackNumber) {
  iconShow.update(trackNumber);
 }
 
}
 
 
class TrackIcon extends Canvas {
 
 private static String fileName;
 private static Image pic;
 private static int trackNumber;
 
 public static GridBagConstraints GBC;
 
 public static final int WITDH = 451;
 public static final int HEIGHT = 280;
 
 public TrackIcon(int idx) {
  trackNumber = idx;
   
  GBC = new GridBagConstraints();
   
  GBC.gridx = 1;
  GBC.gridy = 0;
  GBC.gridwidth = 1;
  GBC.gridheight = 1;
  GBC.fill = GridBagConstraints.NONE;
  GBC.anchor = GridBagConstraints.CENTER;
  GBC.ipadx = WITDH;
  GBC.ipady = HEIGHT;
  GBC.weightx = 0;
  GBC.weighty = 0;
   
  repaint();
 }
 
 public void paint(Graphics g) {
  fileName = Tracks.iconsDir + Tracks.tracksName[trackNumber] + ".jpg";
  pic = getToolkit().getImage(fileName);
  g.drawImage(pic, 0, 0, WITDH, HEIGHT, null);
 }
 
 public void update(int idx) {
  trackNumber = idx;
  repaint();
 }
 
}
 
C'est la fonction main dans une autre classe qui créé une instance de ChatRoom.

 

[edtdd]--Message édité par jupiler--[/edtdd]


---------------
Je ne suis ni pour, ni contre, bien au contraire  
Reply

Marsh Posté le 22-01-2002 à 12:05:28    

Ok je crois que j'ai trouvé. Faut mettre l'objet courant comme Image Observer au moment de dessiner l'image, j'avais mis null


---------------
Je ne suis ni pour, ni contre, bien au contraire  
Reply

Marsh Posté le 22-01-2002 à 12:09:56    

jupiler a écrit a écrit :

Ok je crois que j'ai trouvé. Faut mettre l'objet courant comme Image Observer au moment de dessiner l'image, j'avais mis null  




 
et oui :)


---------------
What is popular is not always right, what is right is not always popular :D
Reply

Sujets relatifs:

Leave a Replay

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