Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418

    [JAVA -Swing] JProgressBar con jif

    Ciao a tutti,
    ho questo codice (vedi sotto) dove praticamente creo una JProgressBar all'interno di un JInternalFrame a sua volta richiamato da un ActionListener. Il problema consiste in questo che mi apre il JInternalFrame solo quando la JProgressBar risulta essere a termine del suo avanzamento. Invece io vorrei vedere l'avanzamento della JProgressBar all'interno del JInternalFrame!

    Dove sbaglio?

    Questo è il codice:
    codice:
    private JProgressBar progressbar;
    private static final int MY_MINIMUM=0;
    private static final int MY_MAXIMUM=100;
    
    All'interno dell'ActionPerfomed
    {
    ..
    ...
    jiframe6 = createFrame6();
    
         progressbar = new JProgressBar();
         progressbar.setMinimum(MY_MINIMUM);
         progressbar.setMaximum(MY_MAXIMUM);
    
        for (int i = MY_MINIMUM; i <= MY_MAXIMUM; i++) {
           final int percent=i;
           try {
             SwingUtilities.invokeLater(new Runnable() {
                 public void run() {
    updateBar(percent);
                 }
             });
             java.lang.Thread.sleep(100);
           } catch (InterruptedException ie) {;}
         } 
    
    jiframe6.getContentPane().add(progressbar);
    ...
    ...
    }//Fine ActionPerfomed
    
      public void updateBar(int newValue) {
        progressbar.setValue(newValue);
      }
    Grazie.
    -------------------------------------------------
    Il fumo nuoce gravemente alla salute

  2. #2
    Utente di HTML.it L'avatar di userfra
    Registrato dal
    Jul 2001
    Messaggi
    1,418
    up
    -------------------------------------------------
    Il fumo nuoce gravemente alla salute

  3. #3
    Prova a mettere jiframe6.getContentPane().add(progressbar);
    nel try.

    Ora siccome sta dentro un ciclo fatti uno switch , cioè una variabile
    che al primo ciclo la valorizzi a 0 e per i successivi a 1 esempio


    for (int i = MY_MINIMUM; i <= MY_MAXIMUM; i++) {
    final int percent=i;
    try {
    if (sw == 0)
    {
    jiframe6.getContentPane().add(progressbar);
    sw = 1;
    }

    SwingUtilities.invokeLater(new Runnable() {
    public void run() {
    updateBar(percent);
    }
    });
    java.lang.Thread.sleep(100);
    } catch (InterruptedException ie) {;}
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.