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

  FORUM HardWare.fr
  Programmation
  Java

  Modification éléments JPanel dynamiquement

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Modification éléments JPanel dynamiquement

n°2190950
skiny13
Posté le 20-05-2013 à 16:27:47  profilanswer
 

Bonjour !
 
Voilà, mon j'ai un problème avec JPanel, il n'affiche rien dynamiquement, par exemple, si je fais une boucle pour écrire 20 lignes dans un JTextArea, il va attendre la fin de la boucle, et afficher le JTextArea complet, mais impossible d'afficher l'écriture de chaque ligne à chaque itérations.
 
Le plus gros problème, c'est pour ma barre de progression, elle s'affiche vide, "freeze" le temps du remplissage, et s'affiche complète, sans état intermédiaire.
 
Voilà le code de la classe où intervient la JProgressBar:
 

Code :
  1. public class NOMCLASSE extends JFrame implements ActionListener{
  2.    
  3.     private JPanel pan;
  4.     private JTextArea console;
  5.     private JScrollPane consoleScroll;
  6.     private JProgressBar loading;
  7.     private JButton t;
  8.    
  9.     public NOMCLASSE(){
  10.         this.setTitle("Nom fenêtre" );
  11.         this.setSize(800,300);
  12.         this.setLocationRelativeTo(null);
  13.         this.setResizable(false);
  14.         this.setVisible(true);
  15.         pan = new JPanel();
  16.         this.setContentPane(pan);
  17.        
  18.         console = new JTextArea("" );
  19.         consoleScroll = new JScrollPane(console);
  20.         consoleScroll.setPreferredSize(new Dimension(470,100));
  21.         consoleScroll.setAutoscrolls(true);
  22.         consoleScroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
  23.        
  24.         loading = new JProgressBar(0, 10);
  25.         loading.setPreferredSize(new Dimension(700,30));
  26.         loading.setValue(0);
  27.        
  28.         pan.add(consoleScroll);
  29.         pan.add(loading);
  30.        
  31.         t = new JButton("test" );
  32.         t.addActionListener(this);
  33.         pan.add(t);
  34.     }
  35.     public void actionPerformed(ActionEvent arg0) {
  36.         if(arg0.getSource() == t){
  37.                 for(int i=0; i<10; i++){
  38.                     loading.setValue(i);
  39.                     /* Ici j'ai essayé de mettre un
  40.                         pan.repaint();
  41.                         ca ne changeais rien.
  42.                     */
  43.                     try {
  44.                         Thread.sleep(300);
  45.                     } catch (InterruptedException e) {
  46.                         e.printStackTrace();
  47.                     }
  48.                 }
  49.             }
  50.         }
  51. }


 
Je précise que cette fenêtre apparaît lorsqu'on clique sur un bouton de la fenêtre principale du programme, c'est donc une deuxième JFrame, peut être que cela pose un problème...
   
En conclusion, comment puis-je modifier les éléments du JPanel dynamiquement ?
 
Merci d'avance.

mood
Publicité
Posté le 20-05-2013 à 16:27:47  profilanswer
 

n°2192207
grundoc
Posté le 30-05-2013 à 11:20:11  profilanswer
 

Je te conseil de regarder vers les design patterns pour faire le JPanel dynamique et plus spécialement le design pattern Observeur-Observable.
 
Ton JPanel sera observeur et les les données seront observable. Dès que la données sera modifié, elle prévient l'observeur qui récupère les infirmations.


---------------
Mes vente

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

  Modification éléments JPanel dynamiquement

 

Sujets relatifs
Recupérer les infos des éléments d'une liste déroulante multichoixRecupérer les infos des éléments d'une liste déroulante multichoix
Modification dans une application sous symfonyModification de valeurs stockées dans Settings.settings
Corriger erreur php: modification de base donnéesModification logciel
script de modification de chemin dans Outlook[BATCH] modification hosts
Plus de sujets relatifs à : Modification éléments JPanel dynamiquement


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