1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
| import model.Person;
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableView;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.control.cell.TextFieldTableCell;
import javafx.scene.layout.BorderPane;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import javafx.util.converter.DoubleStringConverter;
import javafx.util.converter.IntegerStringConverter;
public class mainApp extends Application implements Observer {
public static void main(String[] args) {
launch(args);
}
// Avoir accès à mon Objet DAO
private IPersonnelDAO personneDAO;
// construire ma couche service pour l'application du Pattern Observer
private Service service;
private TableColumn<Person, String> tbNom;
private TableColumn<Person, Sting> tbPrenom;
private TableColumn<Person, Integer> tbAge;
private Button btInsertion;
private ObservableList<Person> loPersonne;
private TableView<Person> tbPersonne;
// Conteneur principal de la vue principale
private BorderPane borderPane;
@Override public void start(Stage primaryStage) {
borderPane = new BorderPane();
//Initialisation de l'objet Service
service = new Service();
personneDAO = service.getPersonneDAO();
// S'enregistre sur la couche Service pour écouter l'ajout ou suppression d'un Personnel
service.addObjectObserver(this);
/*Affiche la vue pour l'insertion du personnel et fait appel au contrôleur et la méthode d'insertion (
La méthode étant assez longue je ne la rajouterais pas mais elle se trouve dans ma classe
principal)*/
btInsertion= new Button("Ajout du Personnel");
btInsertion.setPrefWidth(200);
btInsertion.setOnAction(a -> {
actionAjoutPersonne(primaryStage);
});
//Construction de la Table , colonne ...
tbPersonne = new TableView<>();
tbNom = new TableColumn<>("Nom");
tbPrenom= new TableColumn<>("Prenom");
tbAge = new TableColumn<>("Age");
borderPane.setCenter(tbPersonne);
// Ajout des 2 bouton
//Pane pour les boutons
TilePane lstBoutons = new TilePane();
lstBoutons.getChildren().add(btInsertion);
lstBoutons.setPadding(new Insets(0,10,0,10));
borderPane.setRight(lstBoutons);
Scene scene = new Scene(borderPane, 1100, 700);
scene.getStylesheets().add("/vues/css/vues.css");
primaryStage.setTitle("Personne");
primaryStage.setScene(scene);
initiliseDonnees();
primaryStage.show();
}
}
private void initiliseDonnees() {
// Affiche la Liste des Personnes dans la BD
List<Person> list= personneDAO.getListe("");
loPersonne = FXCollections.observableArrayList(list);
tbNom.setCellValueFactory(new PropertyValueFactory<Person, String>("nom"));
tbPrenom.setCellValueFactory(new PropertyValueFactory<Person, String>("prenom"));
tbAge.setCellValueFactory(new PropertyValueFactory<Person,Integer>("age"));
tbPersonne.getColumns().addAll(tbNom,tbPrenom,tbAge);
tbPersonne.setItems(loPersonne);
}
@Override public void update(Observable arg0, Object arg1) {
initiliseDonnees();
} |
Partager