[Java lista] process Bar

Huj Tamás hujtomi at gmail.com
2008. Júl. 29., K, 21:52:44 CEST


sziasztok!

van egy alkalmazásom aminek az egyik része egy kicsit sokáig fut, ezért
gondoltam, hogy addig se unatkozzon a felhasználó, csináltam egy Formot amin
egy processBar jelzi, hogy hol is tartunk.

a processBar osztály valahogy így néz ki:

public class processBar extends javax.swing.JFrame {

    /** Creates new form processBar */
    public processBar() {
        initComponents();
        new Worker().start();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // <editor-fold defaultstate="collapsed" desc="Generated
Code">
    private void initComponents() {

        folyamatProgressBar = new javax.swing.JProgressBar();
        folyamatLabel = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("Feldolgozás folyamatban...");

        folyamatLabel.setText("generálás folyamatban...");

        javax.swing.GroupLayout layout = new
javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()

.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(folyamatProgressBar,
javax.swing.GroupLayout.DEFAULT_SIZE, 358, Short.MAX_VALUE)
                    .addComponent(folyamatLabel))
                .addContainerGap())
        );
        layout.setVerticalGroup(

layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING,
layout.createSequentialGroup()
                .addContainerGap(32, Short.MAX_VALUE)
                .addComponent(folyamatLabel)
                .addGap(18, 18, 18)
                .addComponent(folyamatProgressBar,
javax.swing.GroupLayout.PREFERRED_SIZE,
javax.swing.GroupLayout.DEFAULT_SIZE,
javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(22, 22, 22))
        );

        pack();
    }// </editor-fold>
    // Variables declaration - do not modify
    public javax.swing.JLabel folyamatLabel;
    public javax.swing.JProgressBar folyamatProgressBar;
    // End of variables declaration

    class Worker extends Thread {

        @Override
        public void run() {
            folyamatProgressBar.setValue(folyamatProgressBar.getValue()+1);
            repaint();
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
}

ezzel az a probléma, hogy ha meghívom valahol a new processBar() -t akkor
egyszer kirajzolódik az ablak amikor meghívtam meg akkor amikor a hosszú
folyamatomnak már vége van, de ekkor már nem is lenne annyira fontos a
dolog.

szóval az érdekelne hogy hogy tudnám rávenni hogy gyakrabban frissüljön?

üdv,
Tomi
--------- következõ rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: http://javagrund.hu/pipermail/javalist/attachments/20080729/041ac6fd/attachment-0001.html 


További információk a(z) Javalist levelezőlistáról