[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