Refresh dans swing

Refresh dans swing - Java - Programmation

Marsh Posté le 28-01-2005 à 16:14:35    

J'ai un JFrame dans lequel je rajoute au fur a mesure des composants lors des diverses actions de l'utilisateur
 
Comment faire un refresh du frame proprement?
 
 

Reply

Marsh Posté le 28-01-2005 à 16:14:35   

Reply

Marsh Posté le 28-01-2005 à 16:21:35    

je crois que setvisible(false) avant l'ajout du bazar et setvisible(true) devrai faire 'laffaire

Reply

Marsh Posté le 28-01-2005 à 16:30:29    

nope
mais de toute facon je cherche une methode plus propre
je sais que revalidate+repaint sur jpanel ca marche
mais sur jframe?

Reply

Marsh Posté le 28-01-2005 à 16:34:22    

le refresh se fait tout seul, tu peux virer tous tes setVisible(), repaint(), revalidate() repaintImmediately() et autres paint().
 
fais voir ton code, ton problème est ailleur.

Reply

Marsh Posté le 28-01-2005 à 16:35:34    

pour les jframes je sais pas, c vrai que ma solution je l'utilise plutot pour les panels.

Reply

Marsh Posté le 28-01-2005 à 16:44:23    

nraynaud a écrit :

le refresh se fait tout seul, tu peux virer tous tes setVisible(), repaint(), revalidate() repaintImmediately() et autres paint().
 
fais voir ton code, ton problème est ailleur.


euh chuis pas d'accord
j'ai un Jpanel dans un Border dans un Jframe
dans le jpanel je fais ca :

Code :
  1. setLayout(new GridLayout(pList.size() + 2, 1));
  2.     JPanel tmp = new JPanel(new GridLayout(1, 4));
  3.     tmp.add(nameButton);
  4.     tmp.add(dateDepot);
  5.     tmp.add(validButton);
  6.     tmp.add(av);
  7.     add(tmp);


j'ai rajoute en quelque sort une ligne des compos
si je fais un revalidate et repaint juste apres ca marche si je le fais pas rien change
ma question est comment je peux rafraichir le tout mais en actionnat sur le jframe

Reply

Marsh Posté le 28-01-2005 à 16:46:55    

on peut voir le reste du code ?

Reply

Marsh Posté le 28-01-2005 à 16:53:56    

un truc simplifie

Code :
  1. package test;
  2. import java.awt.GridLayout;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import javax.swing.JButton;
  6. import javax.swing.JFrame;
  7. public class TestSwing implements ActionListener{
  8.   public static void main(String[] args) {
  9.     new Test();
  10.   }
  11.   JFrame f;
  12.   public TestSwing(){
  13.     f = new JFrame();
  14.     f.setSize(500,300);
  15.    
  16.     JButton b = new JButton("ok" );
  17.     b.addActionListener(this);
  18.     f.getContentPane().setLayout(new GridLayout(1,4));
  19.     f.getContentPane().add(b);
  20.     f.setVisible(true);
  21.   }
  22.   public void actionPerformed(ActionEvent e) {
  23.     f.getContentPane().add(new JButton("toto" ));
  24.   }
  25. }

Reply

Sujets relatifs:

Leave a Replay

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