Hallo,
ich habe ein kleines "grundsätzliches" Problem....
Ich habe ein Prog welches mir nach Buttonklick in meiner GUI eine SQL Abfrage startet und wenn fertig diese in einer jTable darstellt.
Zusätzlich habe ich einen jProgressBar welcher mir in der zwischenzeit bis die Abfrage fertig ist erfolgreich "hochläuft"
aber die Zeit die der ProgressBar hochläuft ist jetzt von mir eher auf die Holzhammermethode fix eingestellt und ganz und gar nicht dynamisch .... (habe noch mehrere Abfragen für die will ich das so nicht machen)
Ich würde gerne abhängig von der Abfrage die Werte so anpassen das der Progressbar immer bei 100% ist wenn die Abfrage fertig ist.
Hier mein Code für den Progressbar und den Start der Abfrage (die Abfrage selbst läuft in einer anderen Klasse ab...
der whileWert... ich habe mir durch System.out.println("Wert: " +value); angeschaut wann ca. die Abfrage fertig ist und den wert hergenommen
und durch probieren usw. dann das so eingestellt das es ca gleichzeitig fertig ist...... aber ist natürlich eigentlich "Käse"....
Ich hoffe es ist halbwegs verständlich erklärt.... und ich hoffe es gibt eine lösung wie ich das quasi dynamisch so einstellen kann da egal welche Abfrage ich starte der progressBar immer bei 100% ist wenn die abfrage bzw. die jTable fertig ist
ich habe ein kleines "grundsätzliches" Problem....
Ich habe ein Prog welches mir nach Buttonklick in meiner GUI eine SQL Abfrage startet und wenn fertig diese in einer jTable darstellt.
Zusätzlich habe ich einen jProgressBar welcher mir in der zwischenzeit bis die Abfrage fertig ist erfolgreich "hochläuft"
aber die Zeit die der ProgressBar hochläuft ist jetzt von mir eher auf die Holzhammermethode fix eingestellt und ganz und gar nicht dynamisch .... (habe noch mehrere Abfragen für die will ich das so nicht machen)
Ich würde gerne abhängig von der Abfrage die Werte so anpassen das der Progressbar immer bei 100% ist wenn die Abfrage fertig ist.
Hier mein Code für den Progressbar und den Start der Abfrage (die Abfrage selbst läuft in einer anderen Klasse ab...
der whileWert... ich habe mir durch System.out.println("Wert: " +value); angeschaut wann ca. die Abfrage fertig ist und den wert hergenommen
und durch probieren usw. dann das so eingestellt das es ca gleichzeitig fertig ist...... aber ist natürlich eigentlich "Käse"....
Java:
.
.
private void btnAPActionPerformed(java.awt.event.ActionEvent evt) {
class UpdateProgressBar1 extends Thread {
int whileWert = 316755;
int updateWert = whileWert/100;
public void run() {
jProgressBar1.setValue(0);
int value = 0;
int i = 0;
while(i < whileWert){
value = value + 1;
jProgressBar1.setValue(value/updateWert);
i++;
System.out.println("Wert: " +value);
// try {
// Thread.sleep(1);
// } catch (InterruptedException ex) {
// Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
// }
}
}}
new UpdateProgressBar1().start();
Thread queryThread = new Thread() {
public void run() {
exportHeader = Objekte.SQLs.apExportHeader;
spaltenCount = Objekte.SQLs.apSpaltenCount;
objektName = Objekte.SQLs.apobj;
try {
Stro.CursorToolkitOne.startWaitCursor(rootPane); // setzt die Sanduhr beim Cursor an
AlleObjekte AP = new AlleObjekte(Objekte.SQLs.apSelect, Objekte.SQLs.apCountSelect, objektName);
// jProgressBar1 = new jProgressBar();
Stro.CursorToolkitOne.stopWaitCursor(rootPane); // schaltet die Sanduhr beim Cursor aus und wieder den StandartMauszeiger
} catch (Exception ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
// Objekte.SQLs.AP();
}
};
queryThread.start();
}
Ich hoffe es ist halbwegs verständlich erklärt.... und ich hoffe es gibt eine lösung wie ich das quasi dynamisch so einstellen kann da egal welche Abfrage ich starte der progressBar immer bei 100% ist wenn die abfrage bzw. die jTable fertig ist