Keresés

Hirdetés

Új hozzászólás Aktív témák

  • eziskamu

    addikt

    válasz Lortech #1719 üzenetére

    A doInBackground belsejét próbáltam már kikommentelni is, a Netbeans Profilerével meg még most kezdtem ismerkedni
    Az osztály:
    class sMin extends SwingWorker<String[], Void> {
    @Override
    public String[] doInBackground() {
    //try{Thread.sleep(300);}catch(Exception e){}

    String cszam=s2.getCSzam();
    String azon=s2.getAzon();
    String[]ts2;

    ts2=ca1.getElement(cszam, azon);
    if(ts2==null){
    ts2=getSor(cszam,azon,ts2);
    ca1.pushElement(cszam, azon, ts2);
    return ts2;
    }
    return ts2;
    }

    @Override

    protected void done() {
    String[]ts2;
    try {
    ts2=get();
    try{hKod.setSelectedIndex( Integer.parseInt(ts2[0]));}catch(Exception e){}
    mFaz.setSelectedIndex(getIndex(ts2[1],mFazok2));
    nmDesc.setText(ts2[2]);
    ibDesc.setText(ts2[3]);
    juDesc.setText(ts2[4]);
    dolg.setText(ts2[5]);
    mJel.setSelectedIndex(getIndex(ts2[6],mJelek2));
    mFazItemStateChanged();
    s1.setIt(false);


    } catch ( java.util.concurrent.CancellationException e) {}
    catch ( Exception f) {s1.setIt(false);}
    }
    }

    És ahogy példányosítom.
    private void showMin(String cszam,String azon){
    boolean b1=false;
    try{
    b1=!pb0.isAlive();
    }
    catch(Exception e){
    b1=true;
    }
    if(!s1.isTrue()&& b1){
    s1.setIt(true);
    pb0=new Thread(new Runnable(){public void run(){pBar();}});
    pb0.start();
    }
    //try{sw0.cancel(true);}catch(Exception e){System.out.println(e);}
    s2.setCSzam(cszam);
    s2.setAzon(azon);
    sw0=new sMin();
    sw0.execute();

    }

    Azt majd még megnézem, hogy nem-e a pb0 okozza a bajt, ami egy progressbar-t húzogat össze-vissza, mert azt még marhára nem tudom, hogy szerezzek pontos infót, az adatbázisművelet állapotáról, de arra a 2-3 mp-re nem is kell pontos infó, valamint majd átírom propertychange-re a vezérlését.

    [ Szerkesztve ]

Új hozzászólás Aktív témák