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

  FORUM HardWare.fr
  Programmation
  Java

  [Swing] redessiner les fenetres

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Swing] redessiner les fenetres

n°1572747
liouan
Posté le 09-06-2007 à 17:13:43  profilanswer
 

Bonjour à tous,
Voici mon problème:
 
Je veux faire une JFrame dans laquelle il y a:
   _une JList de chaines de caractères
   _un bouton
 
lorsque l'on clique sur le bouton, je veux ajouter des chaines de caractères à la liste toutes les 2 secondes.  
Seulement, la JFrame ne daigne se redessiner que lorsque le bouton a fini l' ActionPerformed associée.
donc j'ai mis la JList dans un jpanel, le bouton dans un autre jpanel et les deux JPanel dans la Jframe.
 
Lorsque je clique sur le bouton, je voudrais que seul le JPanel contenant la JListe se redessine, mais je n'arrive pas à le faire:
voici mon code pour l'instant:
 
package defaut;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.*;
import javax.swing.*;
import java.awt.*;
 
public class Principale {
 
  public static void ralentir(long s) {
      try {
        Thread.sleep(s * 1000);
      }
      catch (InterruptedException e) {
        e.printStackTrace();
      }
    }
 
 public static void main(String args[]){
 
   
   
  JFrame jframe=new JFrame("probleme avec la JList" );
  jframe.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  jframe.setSize(300,200);
     
  JPanel panelListe=new JPanel();
  JPanel panelBouton=new JPanel();
   
  //construction de la JList
  Vector vector=new Vector();
  vector.add("lala" );
  vector.add("lala2" );
  vector.add("lala3" );
  JList liste=new JList(vector);
  panelListe.add(liste);
   
  JButton bouton=new JButton("ajouter" );
   
  //le listener du bouton
     class BoutonListener implements ActionListener{
      private JPanel panel;
      private JList liste;
      private Vector vector;
      private JFrame jframe;
      public BoutonListener(JPanel panel,JList liste,Vector vector,JFrame jframe){
       this.panel=panel;
       this.liste=liste;
       this.vector=vector;
       this.jframe=jframe;
      }
   public void actionPerformed(ActionEvent arg0) {
    vector.add("lala4" );
    liste=new JList(vector);
    panel.removeAll();
    panel.add(liste);
    jframe.show();;
     
    ralentir(2);
     
    vector.add("lala5" );
    liste=new JList(vector);
    panel.removeAll();
    panel.add(liste);
    jframe.show();
   }
     }
     
     bouton.addActionListener(new BoutonListener(panelListe,liste,vector,jframe));
     
     panelListe.add(liste);
     panelBouton.add(bouton);
     
     
     GridBagLayout gestionnaire=new GridBagLayout();
     GridBagConstraints contraintes=new GridBagConstraints();
     jframe.setLayout(gestionnaire);
     
     contraintes.gridx=0;
     gestionnaire.setConstraints(panelBouton,contraintes);
     jframe.add(panelBouton);
     
     contraintes.gridx=1;
     gestionnaire.setConstraints(panelListe,contraintes);
     jframe.add(panelListe);
     
     jframe.show();
   
 }
}
 
quelqu'un peut il me dire comment je fais pour ne redessiner que le panelListe?

mood
Publicité
Posté le 09-06-2007 à 17:13:43  profilanswer
 


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

  [Swing] redessiner les fenetres

 

Sujets relatifs
les cellues de JTable en swingComment faire des fenetres imbriqueés?
netbeans et swing, des questions[Java - Swing] Pourquoi mon JButton ne s'affiche pas ?
[Java - Swing] Question simple : positionner l'applet avec setBounds()[Java Swing] Alignement d'un "Box" component à gauche
interaction axis/swingSwing et JTree
Focus sur fenêtres MDISwing sous Eclipse
Plus de sujets relatifs à : [Swing] redessiner les fenetres


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