Hallo Leute,
ich habe ein Projekt wo ich für GUI Javafx einsetze und für die Datenbank nutze ich Hibernate mit einer JavaDB dahinter.
Nun komme ich an dem Punkt wo ich die Daten aus der DB ins Model hole und Listen in Form von Arrylisten rausziehe. Das klappt soweit alles ganz gut.
Jetzt möchte ich natürlich ObservableList für JavaFX verwenden...und hier komme ich an mein Problem:
Wie kriege ich die Schnittstelle hin zwischen OberservableList für die GUI und normale List im Model?
Vielleicht kann mir da einer mal einen Gedankenanstoß geben.
Danke
ich habe ein Projekt wo ich für GUI Javafx einsetze und für die Datenbank nutze ich Hibernate mit einer JavaDB dahinter.
Nun komme ich an dem Punkt wo ich die Daten aus der DB ins Model hole und Listen in Form von Arrylisten rausziehe. Das klappt soweit alles ganz gut.
Jetzt möchte ich natürlich ObservableList für JavaFX verwenden...und hier komme ich an mein Problem:
Java:
@Entity
public class Project implements Serializable{
@Id
@GeneratedValue ( strategy = GenerationType.AUTO)
private long projectId;
@Column
private String name;
@Column
private String discription;
@Column
@Convert(converter = ColorConverter.class)
private Color color;
@OneToMany(fetch = FetchType.EAGER)
private List<ProjectTask> listTask;
public Project() {
listTask = new ArrayList<>();
color = Color.WHITE;
}
....
}
Java:
@Entity
public class ProjectTask implements Serializable{
@Id
@GeneratedValue
private long taskId;
@Column
private String name;
@Column
private String discription;
@OneToMany (fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private List<ProjectTime> timeList;
...
Java:
public class ProjectController {
private static ProjectController controller;
private ObservableList<Project> listProject;
private ProjectDAOImpl projectDAO;
private ProjectTaskDAOImpl taskDAO;
public ProjectController() {
projectDAO = new ProjectDAOImpl();
taskDAO = new ProjectTaskDAOImpl();
listProject = FXCollections.observableArrayList(projectDAO.listProject());
}
public static ProjectController getInstance() {
if(controller == null) {
controller = new ProjectController();
}
return controller;
}
public ObservableList<Project> getListProject() {
return listProject;
}
public void addProject(String name, String discription, Color color) {
Project project = new Project(name, discription, color);
projectDAO.create(project);
listProject.add(project);
}
public ObservableList<ProjectTask> getTaskListByProject(Project project) {
// return FXCollections.synchronizedObservableList((ObservableList<ProjectTask>) project.getListTask());
return FXCollections.observableArrayList(project.getListTask());
}
public void addTaskByProject(String name, String discription, Project project) {
ProjectTask task = new ProjectTask(name, discription);
project.getListTask().add(task);
taskDAO.create(task);
projectDAO.update(project);
}
Wie kriege ich die Schnittstelle hin zwischen OberservableList für die GUI und normale List im Model?
Vielleicht kann mir da einer mal einen Gedankenanstoß geben.
Danke
Zuletzt bearbeitet: