G
Gast
Gast
wie lasse ich mir den JProgressBar nur während des Suchvorganges anzeigen und nicht erst wenn die Suche erfolgt ist?
Meine JProgressBar Klasse..
und die Suchfunktion..
Meine JProgressBar Klasse..
Code:
public class CProgressbar implements Runnable
{
public void run()
{
JFrame frame = new JFrame("ProgressBar");
JProgressBar bar = new JProgressBar();
bar.setIndeterminate(true);
bar.setSize(50 , 330);
TitledBorder title1;
title1 = BorderFactory.createTitledBorder("Bitte warten...");
bar.setBorder(title1);
frame.add(bar);
frame.pack();
frame.setVisible(true);
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
int x = (d.width - frame.getSize().width) / 2;
int y = (d.height - frame.getSize().height) / 2 ;
frame.setLocation(x, y);
}
}
und die Suchfunktion..
Code:
// ActionListener für die suche
button1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
suchen();
}
});
private void suchen() {
File directory = new File(mBrowser.getDir());
Thread t2 = new Thread( new CProgressbar() );
// Date berechnen
long lStartZeitLong = 0;
// CComboBoxPanel gibt null zurueck, wenn nichts ausgewählt wurde!!!
Date lStartDatum = (Date) startzeit.getDate().clone();
lStartDatum.setHours(0);
lStartDatum.setMinutes(0);
lStartDatum.setSeconds(0);
if (mStartPanel.getTime() != null) {
lStartZeitLong = lStartDatum.getTime()
+ mStartPanel.getTime().getTime() -
mStartPanel.getTime().getTimezoneOffset() * 60000;
} else {
lStartZeitLong = lStartDatum.getTime();
}
long lEndZeitLong = 0;
Date lEndDatum = (Date) endzeit.getDate().clone();
lEndDatum.setHours(0);
lEndDatum.setMinutes(0);
lEndDatum.setSeconds(0);
if (mEndPanel.getTime() != null) {
lEndZeitLong = lEndDatum.getTime()
+ mEndPanel.getTime().getTime()-
mEndPanel.getTime().getTimezoneOffset() * 60000;
} else {
lEndZeitLong = lEndDatum.getTime();
}
System.out.println("Startdatum :" + lStartDatum.toLocaleString());
System.out.println("Enddatum :" + lEndDatum.toLocaleString());
System.out.println("Startzeit :"
+ (new Date(lStartZeitLong)).toLocaleString());
System.out.println("Endzeit :"
+ (new Date(lEndZeitLong)).toLocaleString());
File[] fileList = directory.listFiles(new DateFileFilter(
lStartZeitLong, lEndZeitLong));
for (int i = 0; i < fileList.length; i++) {
System.out.println(fileList[i].getName());
}
mBrowser.setFileList(fileList);
}