ProgressBar

Miten saada aikaiseksi ProgressBar, joka täyttyy kun tietty metodi on suoritettu loppuun?
Kokeilin siten, että lisäsin ProgressBarin valueta metodissa aina joka lauseen jälkeen tietyn määrän, mutta kävi niin, että bar täyttyi vasta kun metodin lopputulos tuli näkyviin, ei siis sen suorituksen aikana.
4537
Äänestä

Muut lukivat myös

Vastaukset 4

Vanhimmat

Valistunut arvaus, että sille progressbarille periytyy joku refresh metodi jostain.

Äänestä
  • Mutta en tajua tota taskia, miten se asetetaan?

    Äänestä

  • Muumioitunut kirjoitti:

    Mutta en tajua tota taskia, miten se asetetaan?

    Tutustu hiukan SwingWorker luokkaan http://java.sun.com/javase/6/docs/api/javax/swing/SwingWorker.html lue toi sen johdanto osa ja sen jälkeen voit tutustua hieman lisää lukemalla vaikka tämän http://java.sun.com/developer/technicalArticles/javase/swingworker/

    Eli doInBackground() metodissa teet työn / laskelmat, joka palauttaa tuloksen publish(V... chunks) metodin kautta. Jonka jälkeen SwingWorker kutsuu process() metodia joka prosessoi tulokset (esim. lisää tulokset taulukkoon / malliin) ja lisää samalla progressbarin arvoa chunks muuttuja koon mukaan esim. kutsumalla

    SwingUtilities.invokeAndWait(new Runnable() {
    public void run() {
    progressbar.setValue(value);
    }
    });

    Äänestä

Kommentoi aloitusta


Muumioitunut kirjoitti:

Miten saada aikaiseksi ProgressBar, joka täyttyy kun tietty metodi on suoritettu loppuun?
Kokeilin siten, että lisäsin ProgressBarin valueta metodissa aina joka lauseen jälkeen tietyn määrän, mutta kävi niin, että bar täyttyi vasta kun metodin lopputulos tuli näkyviin, ei siis sen suorituksen aikana.

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu