Ich versuche in einem Thread Datensätze zu löschen.
Beim ersten mal läuft alles planmäßig, aber beim zweiten mal startet der Thread gar nicht mehr.
Warum ist das so ?
[CODE lang="java" title="Aufruf und Thread"] private void pdm_delete () {
Thread delSelection = new Thread(taskDelSelection);
if (delSelection.isAlive()) {
System.out.println("lebt noch ");
} else {
delSelection.start();
}
}
Task taskDelSelection = new Task<Void>() {
public Void call() {
Platform.runLater(new Runnable() {
@Override
public void run() {
hboxdelporgess.setVisible(true);
lbdelprogress.setVisible(true);
pbdelprogress.setVisible(true);
pbdelprogress.setProgress(0);
}});
ObservableList<PVA00001_DataWordsWithoutSkillTVC> delOLst = FXCollections.observableArrayList();
delOLst = tableview.getSelectionModel().getSelectedItems();
String strid = "";
final Integer sizeDelOLst = delOLst.size() ;
for (int i = 0; i < sizeDelOLst; i++) {
strid = delOLst.get(i).getId();
try {
updateProgress( (i + 1) , sizeDelOLst );
delWordAndVoice(strid, pvaid);
} catch (IOException ex) {
Logger.getLogger(PVA00001_WordsWithoutSkillController.class.getName()).log(Level.WARNING, ex.toString(), ex);
}
}
tableview.getSelectionModel().clearSelection();
filltv(start);
Platform.runLater(new Runnable() {
@Override
public void run() {
hboxdelporgess.setVisible(false);
lbdelprogress.setVisible(false);
pbdelprogress.setVisible(false);
}});
return null;
};
};[/CODE]
Beim ersten mal läuft alles planmäßig, aber beim zweiten mal startet der Thread gar nicht mehr.
Warum ist das so ?
[CODE lang="java" title="Aufruf und Thread"] private void pdm_delete () {
Thread delSelection = new Thread(taskDelSelection);
if (delSelection.isAlive()) {
System.out.println("lebt noch ");
} else {
delSelection.start();
}
}
Task taskDelSelection = new Task<Void>() {
public Void call() {
Platform.runLater(new Runnable() {
@Override
public void run() {
hboxdelporgess.setVisible(true);
lbdelprogress.setVisible(true);
pbdelprogress.setVisible(true);
pbdelprogress.setProgress(0);
}});
ObservableList<PVA00001_DataWordsWithoutSkillTVC> delOLst = FXCollections.observableArrayList();
delOLst = tableview.getSelectionModel().getSelectedItems();
String strid = "";
final Integer sizeDelOLst = delOLst.size() ;
for (int i = 0; i < sizeDelOLst; i++) {
strid = delOLst.get(i).getId();
try {
updateProgress( (i + 1) , sizeDelOLst );
delWordAndVoice(strid, pvaid);
} catch (IOException ex) {
Logger.getLogger(PVA00001_WordsWithoutSkillController.class.getName()).log(Level.WARNING, ex.toString(), ex);
}
}
tableview.getSelectionModel().clearSelection();
filltv(start);
Platform.runLater(new Runnable() {
@Override
public void run() {
hboxdelporgess.setVisible(false);
lbdelprogress.setVisible(false);
pbdelprogress.setVisible(false);
}});
return null;
};
};[/CODE]