Comment puis-je afficher la progression dans un jProgressBar lorsque j'écris quelque chose dans la base de données?jProgressBar avec base de données
Merci
Comment puis-je afficher la progression dans un jProgressBar lorsque j'écris quelque chose dans la base de données?jProgressBar avec base de données
Merci
Sur votre serveur, vous devez collecter les données de progression et de fournir d'une manière que jProgressBar peut l'interroger.
Vous utiliserez généralement un SwingWorker
pour mettre à jour le JProgressBar
à partir de l'unité d'exécution Event Dispatch tout en effectuant les opérations d'écriture de base de données sur le thread d'arrière-plan. Par exemple:
// Create progress bar to represent 10 items we wish to write to
// the database (hence min := 0, max := 10);
JProgressBar pBar = new JProgressBar(0, 10);
// TODO: Add progress bar to panel and display.
// Invoke SwingWorker to perform database write operations on
// background thread.
new SwingWorker<Void, Integer>() {
/**
* Called on background worker thread. Performs DB write operations.
*/
public Void doInBackground() {
for (int i=0; i<10; ++i) {
// TODO: Perform DB write operation here.
// Publish progress so far back to Event Dispatch Thread.
publish(i);
}
}
/**
* Called on EDT with intermediate progress result(s).
*/
protected void process(List<Integer> chunks) {
if (!chunks.isEmpty()) {
int progress = chunks.get(chunks.size() - 1);
pBar.setValue(progress);
}
}
/**
* Called on EDT when DB write task has completely finished.
*/
protected void done() {
pBar.setValue(pBar.getMaximum());
// TODO: Hide progress bar, etc.
}
}.execute()
Avez-vous des problèmes pour afficher le 'JProgressBar'? –
Non, je peux l'afficher, je ne peux pas le relier à la progression de la base de données. –