sorka bogdans za brak znaczników, pisałem na szybko.
Daję więcej kodu:
private void zaladujProjektyDoComboBox() {
DostepProject dbp = new DostepProject();
ObservableList<Project> listaProjektow = FXCollections
.observableArrayList(dbp.pobierzWszystkieProjekty());
cb_project.setItems(listaProjektow);
}
public void konfigurujComboBoxProject() {
cb_project.getSelectionModel().selectedItemProperty()
.addListener(new ChangeListener<Project>() {
public void changed(
ObservableValue<? extends Project> observable,
Project oldValue, Project newValue) {
}
});
}
//POPRAWIC
public void konfigurujRamyCzasoweProjektu(){
DostepProject dp = new DostepProject();
if(cb_project.getSelectionModel().getSelectedItem()!=null) {
dp_projektkoniec.setText(String.valueOf(cb_project.getSelectionModel().getSelectedItem().getDate_finish()));
dp_projektstart.setText(String.valueOf(cb_project.getSelectionModel().getSelectedItem().getDate_start()));
}else{
System.out.println("null");
}
Model:
package domain;
import java.sql.Date;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import org.hibernate.validator.constraints.NotEmpty;
/**
* Encja przechowująca projekty w bazie
*
* @author Chudzik
* @version 1.0
*/
@Entity
public class Project {
/**
* bezparametrowy konstruktor klasy Project()
*/
public Project() {
}
@Id
@GeneratedValue
private long IdProject;
@NotNull
@Size(min = 3, max = 45)
private String Title;
@NotNull
@Size(min = 3, max = 255)
private String Description;
@NotNull
private java.sql.Date Date_start;
@NotNull
private java.sql.Date Date_finish;
@NotNull
private String status;
@ManyToMany
private List<User> users;
@NotNull
@ManyToOne
@JoinColumn(name = "owner_project")
private Customer customer;
@OneToMany(mappedBy = "project")
private List<Task> tasks;
@OneToMany(mappedBy = "project")
private List<Reports> reports;
/**
* parametry projektu
* @param idProject
* parametr
* @param title
* parametr
* @param description
* parametr
* @param date_start
* parametr
* @param date_finish
* parametr
* @param status
* parametr
* @param users
* parametr
* @param customer
* parametr
* @param tasks
* parametr
* @param reports
* parametr
*/
public Project(long idProject, String title, String description,
Date date_start, Date date_finish, String status, List<User> users,
Customer customer, List<Task> tasks, List<Reports> reports) {
super();
IdProject = idProject;
Title = title;
Description = description;
Date_start = date_start;
Date_finish = date_finish;
this.status = status;
this.users = users;
this.customer = customer;
this.tasks = tasks;
this.reports = reports;
}
/**
* @return IdProject zwraca
*/
public long getIdProject() {
return IdProject;
}
/**
* @param idProject
* ustawia idProject
*/
public void setIdProject(long idProject) {
IdProject = idProject;
}
/**
* @return status
*/
public String getStatus() {
return status;
}
/**
* @param status
* ustawia status
*/
public void setStatus(String status) {
this.status = status;
}
/**
* @return Title
*/
public String getTitle() {
return Title;
}
/**
* @param title
* ustawia title
*/
public void setTitle(String title) {
Title = title;
}
/**
* @return Description
*/
public String getDescription() {
return Description;
}
/**
* @param description
* ustawia opis
*/
public void setDescription(String description) {
Description = description;
}
/**
* @return Date_start
*/
public java.sql.Date getDate_start() {
return Date_start;
}
/**
* @param date_start
* ustawia date_start
*/
public void setDate_start(java.sql.Date date_start) {
Date_start = date_start;
}
/**
* @return Date_finish
*/
public java.sql.Date getDate_finish() {
return Date_finish;
}
/**
* @param date_finish
* ustawia date_finish
*/
public void setDate_finish(java.sql.Date date_finish) {
Date_finish = date_finish;
}
/**
* @return users
*/
public List<User> getUsers() {
if (users != null) {
return users;
} else {
return null;
}
}
/**
* @param users
* ustawia liste users
*/
public void setUsers(List<User> users) {
this.users = users;
}
/**
* @return tasks
*/
public List<Task> getTasks() {
if (tasks != null) {
return tasks;
} else {
return null;
}
}
/**
* @return customer
*/
public Customer getCustomer() {
return customer;
}
/**
* @param customer
* customer
*/
public void setCustomer(Customer customer) {
this.customer = customer;
}
/**
* @param tasksList
* tasks
*/
public void setTasks(List<Task> tasksList) {
this.tasks = tasksList;
}
/**
* @return reports
*/
public List<Reports> getReports() {
return reports;
}
/**
* @param reports
* reports
*/
public void setReports(List<Reports> reports) {
this.reports = reports;
}
/**
* Metoda toString() zwracająca tytuł
*
* @return Title
*/
@Override
public String toString() {
return Title;
}
}
i jeszcze to:
package bazadanych;
import java.util.List;
import javax.persistence.TypedQuery;
import javax.swing.*;
import domain.Project;
import domain.User;
/**
* @author rafal
*
*/
/**
* zapis projektu do bazy
*
*/
public class DostepProject implements Bdotwarcie {
/**
* Metoda zapisuje projekt do bazy
* @param project
* parametr project
* @return true/false
*/
public boolean saveProject(Project project) {
try {
if (!em.getTransaction().isActive()) {
em.getTransaction().begin();
}
em.persist(project);
em.getTransaction().commit();
return true;
} catch (Exception ex) {
ex.printStackTrace();
em.getTransaction().rollback();
return false;
}
}
/**
* Metoda pobiera wszystkie projekty z bazy
* @return lista projekt�w
*/
public List<Project> pobierzWszystkieProjekty() {
TypedQuery<Project> createQuery = em.createQuery(
"select p from Project p", Project.class);
List<Project> resultProjectList = createQuery.getResultList();
return resultProjectList;
}
/**
* Metoda pobiera projekt po ID z bazy
* @param id
* parametr id
* @return projektDoEdycji
*/
public Project getProjectFromDB(long id) {
try {
if (!em.getTransaction().isActive()) {
em.getTransaction().begin();
}
Project projectDoEdycji = em.find(Project.class, id);
em.getTransaction().commit();
return projectDoEdycji;
} catch (Exception ex) {
System.out.println(ex.getMessage());
em.getTransaction().rollback();
return null;
}
}
public Project pobierzProjektPoID(long idProject) {
Project project = null;
try {
project = em.find(Project.class, idProject);
return project;
} catch (Exception ex) {
JOptionPane.showMessageDialog(null, "Problem pobrania projektu po ID");
ex.printStackTrace();
return project;
}
}
/**
* Metoda nadpisuje projekt
* @param project
* parametr project
* @return true/false
*/
public static boolean updateProjectByMerge(Project project) {
try {
if (!em.getTransaction().isActive()) {
em.getTransaction().begin();
}
em.merge(project);
em.getTransaction().commit();
return true;
} catch (Exception ex) {
em.getTransaction().rollback();
return false;
}
}
}