IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AWT/Swing Java Discussion :

barre de progression


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 4
    Par défaut barre de progression
    salut,
    d'abord je vous assure que j'ai testé plusieurs tutoriels et plusieurs FAQ's
    je vous munir mon application d'une barre de progression JProgressBar mais ça
    marche pas !
    je sais que cela demande l'utilisation d'un thread
    j'ai essayé de munir b1 (un bouton de l'interface graphique) d'un écouteur
    mais ca pas marché peut etre parcequ'il posséde un déja !
    aussi j'ai voulu lancer une video *.mpg avec mon programme JAVA j'ai utilisé
    Runtime.exec(String cmd);
    or c:/video.mpg lance la video sous DOS
    avec JAVA ça marche pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
     
     
     
       package tvmobile;
     
     
       import java.awt.*;
       import java.awt.event.*;
       import javax.swing.*;
       import java.io.*;
       import javax.imageio.*;
     
       /*
    	** Cette classe va servir pour l'insertion des erreurs suivant
    	* les simulations expérimentaux vues a la these*/ 
        class Main extends JFrame implements ActionListener{
           public Main(){
     
          }
        // Declarations des attributs
          String inputFile;
          String outputFile;
          String receptor;
          double SNR_dB;
          int header = 4734;//entete MPEG
          static int NIVEAU, SIZE;
          static JButton b1 = new JButton("            simuler              ");
          static JButton b2 = new JButton("voir la vidéo d'entrée  ");
          static JButton b3 = new JButton("voir la vidéo de sortie ");
          static JButton b4 = new JButton("              fermer              ");
          JLabel jl1 = new JLabel("inputFile  ",SwingConstants.LEFT);
          JTextField jtf1 = new JTextField(10);
          JLabel jl2 = new JLabel("outputFile",SwingConstants.LEFT);
          JTextField jtf2 = new JTextField(10);
          JLabel jl3 = new JLabel("SNR_dB    ",SwingConstants.LEFT);
          JTextField jtf3 = new JTextField(10);
          JLabel jl4 = new JLabel("récepteur",SwingConstants.LEFT);
          static JProgressBar pb = new JProgressBar(0,100);
          JLabel jl5 = new JLabel("avancement",SwingConstants.LEFT);
          JRadioButton bouton1 = new JRadioButton("rake");
          JRadioButton bouton2 = new JRadioButton("chase");
         //fin de la déclaration
           public void init(String title)throws IOException{
     
             setTitle(title);
             setSize(400, 400);
             setResizable(false);
             JPanel P = new JPanel();
             GridLayout gl = new GridLayout(0,2);
             GridLayout g2 = new GridLayout(0,1);
             setLayout(gl);
             P.add(jl1);
             P.add(jtf1);
             P.add(jl2);
             P.add(jtf2);
             P.add(jl3);
             P.add(jtf3);
             P.add(jl4);
             ButtonGroup groupe = new ButtonGroup();
             groupe.add(bouton1);
             P.add(bouton1);
             groupe.add(bouton2);
             P.add(bouton2);	
             P.add(b1);
             P.add(b2);
             P.add(b3);
             P.add(b4);
             P.add(jl5);
             P.add(pb);
             getContentPane().add(P);
     
             bouton1.addActionListener(this);
             bouton2.addActionListener(this);
             b1.addActionListener(this);          
             b2.addActionListener(this);
             b3.addActionListener(this);
             b4.addActionListener(this);
          }
           public Main(String title) throws IOException{
             init(title);
     
     
     
          }
           public static void main(String[]argv)throws IOException{
     
             new Main("Insertion des erreurs").setVisible(true);
     
     
          }
           public void actionPerformed(ActionEvent e){
     
     
             if(e.getSource() == bouton1)
                receptor = "rake";
             if(e.getSource() == bouton2)
                receptor = "chase";
             if(e.getSource() == b1)
                try{
                   simulating();
                }
                    catch(Exception ex){
                      System.out.println("Error");
                   }
             if(e.getSource() == b2)
                try{
                   openingInputFile();
                }
                    catch(Exception ex){
     
     
                   }
             if(e.getSource() == b3)
                try{
                   openingOutputFile();
                }
                    catch(Exception ex){
     
     
                   }
     
             if(e.getSource() == b4)
                System.exit(0);
     
     
          } 
           void simulating()throws IOException{
             readData();
             NIVEAU = 0;
             DataInputStream in = new DataInputStream(new FileInputStream(inputFile));
             DataOutputStream out = new  DataOutputStream(new FileOutputStream(outputFile));
             double e = error();
             SIZE = taille();
             int etat = 0;
     
     
             while(in.available() > 0){           
                int b = in.read();
                header--;
                double d = Math.random();
     
     
                if(d < e || header > 0)
                   out.write(b);
     
                else
                   out.write(0);
                NIVEAU++;
     
                pb.setValue(100*NIVEAU/SIZE);
     
             }
             out.close();
     
     
          }      
           double error(){
             if(receptor.equals("rake"))
                return P_rake();
             return P_chase();
     
     
          } 
           double P_rake(){
             double x = SNR_dB;
     
             return 0.99995;
          }
           double P_chase(){
             double x = SNR_dB;   
             return 0.99995;
          }
           void readData(){
             inputFile = "C:/Program Files/EasyPHP1-8/www/Documents/docPFE/src/TVmobile/inputFiles/"+jtf1.getText();
             outputFile = "C:/Program Files/EasyPHP1-8/www/Documents/docPFE/src/TVmobile/outputFiles/"+jtf2.getText();
             SNR_dB = Double.parseDouble(jtf3.getText());
          }
           void openingInputFile()throws Exception{
             readData();
             System.out.println(inputFile);
             Runtime runtime = Runtime.getRuntime();
             runtime.exec(inputFile);
     
          }
           void openingOutputFile()throws Exception{
             readData();
             System.out.println(outputFile);
             Runtime runtime = Runtime.getRuntime();
             runtime.exec(outputFile);
     
          }
           int taille() throws IOException{
             int c = 0;
             DataInputStream in = new DataInputStream(new FileInputStream(inputFile));
             while(in.available() > 0){
     
                in.read();
                c++;
             }
             return c;
     
          }
     
     
     
       }

  2. #2
    Membre à l'essai
    Inscrit en
    Août 2006
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 4
    Par défaut
    salut j'ai trouvé la solution
    il suffit juste de modifier la méthode simulating comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
     
    ....
           void simulating()throws IOException{
             readData();
             NIVEAU = 0;
             final DataInputStream in = new DataInputStream(new FileInputStream(inputFile));
             final DataOutputStream out = new  DataOutputStream(new FileOutputStream(outputFile));
             final double e = error();
             SIZE = taille();
             int etat = 0;
             Thread t =
                 new Thread(){
                    public void run(){
                        pb.setValue(0);
                        jl5.setText("avancement");
                      try{
                         while(in.available() > 0){           
                            int b = in.read();
                            header--;
                            double d = Math.random();
     
     
                            if(d < e || header > 0)
                               out.write(b);
     
                            else
                               out.write(0);
                            NIVEAU++;
     
                            pb.setValue(100*NIVEAU/SIZE);
                            jl5.setText("avancement "+100*NIVEAU/SIZE+"%");
     
                         }
                         jl5.setText("Terminé");
                         out.close();
                      }
                          catch (Exception ex){}
     
     
                   }
                };
             t.start();
          }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Indy FTP (idFTP) faire une barre de progress de transfert
    Par Harry dans le forum Web & réseau
    Réponses: 4
    Dernier message: 09/07/2004, 13h15
  2. [VB.NET] Pb avec le bouton Annuler d'1 barre de progression
    Par dada1982 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 30/06/2004, 09h56
  3. Réponses: 12
    Dernier message: 27/05/2004, 00h13
  4. [DEBUTANT] Barre de progression
    Par pupupu dans le forum MFC
    Réponses: 4
    Dernier message: 18/01/2004, 16h47
  5. [web] Barre de Progression ASCII
    Par Red Bull dans le forum Web
    Réponses: 13
    Dernier message: 05/06/2003, 12h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo