浏览代码

Patientenliste aktualisieren Button

testBranch
Johannes 10 年前
父节点
当前提交
94e245b81d
共有 2 个文件被更改,包括 22 次插入6 次删除
  1. +20
    -6
      src/main/java/de/uniluebeck/mi/projmi6/controller/PatientTablesController.java
  2. +2
    -0
      src/main/resources/patient_tables.fxml

+ 20
- 6
src/main/java/de/uniluebeck/mi/projmi6/controller/PatientTablesController.java 查看文件

@@ -245,13 +245,18 @@ public class PatientTablesController{




public void updatePatientsFromDb(){ public void updatePatientsFromDb(){
if(this.loadPatientTask != null && this.loadPatientTask.isRunning()) {
System.out.println("Patienten werden bereits geladen.");
return;
}

btnPatRefresh.setDisable(true);


//if(!loadPatientsTask.isRunning()) {
lblTablePatientEmpty.setText("Daten werden geladen...");
tblPatientOverview.setItems(null); tblPatientOverview.setItems(null);


mainController.increaseParallelTaskCount(); mainController.increaseParallelTaskCount();


lblTablePatientEmpty.setText("Liste wird geladen...");


Task<List<Patient>>loadPatientsTask = new Task<List<Patient>>(){ Task<List<Patient>>loadPatientsTask = new Task<List<Patient>>(){


@@ -263,32 +268,41 @@ public class PatientTablesController{
@Override @Override
protected void succeeded() { protected void succeeded() {
super.succeeded(); super.succeeded();
btnPatRefresh.setDisable(false);
lblTablePatientEmpty.setText("Liste ist leer.");
tblPatientOverview.setItems(FXCollections.observableArrayList(this.getValue())); tblPatientOverview.setItems(FXCollections.observableArrayList(this.getValue()));
lblTablePatientEmpty.setText("Es sind keine Patienten in der Datenbank");
mainController.decreaseParallelTaskCount(); mainController.decreaseParallelTaskCount();
System.out.println("Patientenlsite erfolgreich aus Task geladen!");
} }


@Override @Override
protected void failed() { protected void failed() {
super.failed(); super.failed();
btnPatRefresh.setDisable(false);
lblTablePatientEmpty.setText("Laden fehlgeschlagen!");
mainController.decreaseParallelTaskCount(); mainController.decreaseParallelTaskCount();
tblPatientOverview.setItems(null); tblPatientOverview.setItems(null);
lblTablePatientEmpty.setText("Ein Fehler ist aufgetreten: "+this.getException());
if(getException()!=null){ if(getException()!=null){
getException().printStackTrace(); getException().printStackTrace();
} }
} }
}; };
this.loadPatientTask = loadPatientsTask;


Thread thread = new Thread(loadPatientsTask); Thread thread = new Thread(loadPatientsTask);
thread.setDaemon(true); thread.setDaemon(true);
thread.start(); thread.start();
// }
} }




private Task loadPatientTask = null;

@FXML
private Button btnPatRefresh;


@FXML
private void clickedRefreshPatient(){
updatePatientsFromDb();
}


private ObjectBinding<Patient> patientObjectBinding = null; private ObjectBinding<Patient> patientObjectBinding = null;




+ 2
- 0
src/main/resources/patient_tables.fxml 查看文件

@@ -17,6 +17,8 @@
<items> <items>
<Button fx:id="btnPatCreate" text="Neuen _Patient erstellen" onAction="#clickedCreatePatient" /> <Button fx:id="btnPatCreate" text="Neuen _Patient erstellen" onAction="#clickedCreatePatient" />
<Button fx:id="btnPatEdit" text="Patient _bearbeiten" onAction="#clickedEditPatient"/> <Button fx:id="btnPatEdit" text="Patient _bearbeiten" onAction="#clickedEditPatient"/>
<Pane HBox.hgrow="ALWAYS" />
<Button fx:id="btnPatRefresh" text="Liste aktualisieren" onAction="#clickedRefreshPatient"/>
</items> </items>
</ToolBar> </ToolBar>
<TableView fx:id="tblPatientOverview" editable="true" tableMenuButtonVisible="true" VBox.vgrow="ALWAYS"> <TableView fx:id="tblPatientOverview" editable="true" tableMenuButtonVisible="true" VBox.vgrow="ALWAYS">


正在加载...
取消
保存