Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ManagmentUsersController.java
- package com.my.app.controllers;
- import java.net.URL;
- import java.util.ResourceBundle;
- import javafx.collections.FXCollections;
- import javafx.collections.ObservableList;
- import javafx.event.ActionEvent;
- import javafx.event.EventHandler;
- import javafx.fxml.FXML;
- import javafx.fxml.Initializable;
- import javafx.scene.control.Button;
- import javafx.scene.control.MenuBar;
- import javafx.scene.control.TableColumn;
- import javafx.scene.control.TableView;
- import javafx.scene.control.cell.PropertyValueFactory;
- import com.my.app.daoImpl.DbSingleton;
- import com.my.app.models.User;
- import com.my.app.others.ViewChanger;
- public class ManagmentUsersController implements Initializable {
- @FXML
- private TableView<User> tableViewUser;
- @FXML
- private TableColumn<?, ?> tableColumnLastname;
- @FXML
- private Button btnEditUser;
- @FXML
- private Button btnRemoveUser;
- @FXML
- private Button btnAddUser;
- @FXML
- private Button btnRefreshUsers;
- @FXML
- private TableColumn<?, ?> tableColumnName;
- @FXML
- private TableColumn<?, ?> tableColumnRole;
- @FXML
- private TableColumn<?, ?> tableColumnId;
- @FXML
- private MenuBar menuBarUsers;
- @FXML
- private TableColumn<?, ?> tableColumnEmail;
- @FXML
- private TableColumn<?, ?> tableColumnLogin;
- @FXML
- private TableColumn<?, ?> tableColumnPassword;
- public TableView<User> getTableViewUser() {
- return tableViewUser;
- }
- public void setTableViewUser(TableView<User> tableViewUser) {
- this.tableViewUser = tableViewUser;
- }
- public Button getBtnRefreshUsers() {
- return btnRefreshUsers;
- }
- public void setBtnRefreshUsers(Button btnRefreshUsers) {
- this.btnRefreshUsers = btnRefreshUsers;
- }
- @Override
- public void initialize(URL location, ResourceBundle resources) {
- // TODO Auto-generated method stub
- configureMenu();
- configureButtons();
- configureTableViewUser();
- }
- public void configureMenu(){
- }
- public void configureButtons(){
- btnAddUser.setOnAction(new EventHandler<ActionEvent>() {
- @Override
- public void handle(ActionEvent event) {
- ViewChanger vch = new ViewChanger();
- vch.changeViewModalityWindow(
- "/com/my/app/views/UserAddEditView.fxml", "Add user",
- event);
- }
- });
- btnEditUser.setOnAction(new EventHandler<ActionEvent>() {
- @Override
- public void handle(ActionEvent event) {
- }
- });
- btnRefreshUsers.setOnAction(new EventHandler<ActionEvent>() {
- @Override
- public void handle(ActionEvent event) {
- tableViewUser.setItems(loadUsersToTableView());
- }
- });
- }
- public void configureTableViewUser(){
- tableColumnId.setCellValueFactory(new PropertyValueFactory<>(
- "id"));
- tableColumnLogin.setCellValueFactory(new PropertyValueFactory<>(
- "login"));
- tableColumnPassword.setCellValueFactory(new PropertyValueFactory<>(
- "password"));
- tableColumnRole.setCellValueFactory(new PropertyValueFactory<>(
- "role"));
- tableColumnName.setCellValueFactory(new PropertyValueFactory<>(
- "name"));
- tableColumnLastname.setCellValueFactory(new PropertyValueFactory<>(
- "lastname"));
- tableColumnEmail.setCellValueFactory(new PropertyValueFactory<>(
- "email"));
- //loadUsersToTableView();
- tableViewUser.setItems(loadUsersToTableView());
- }
- private ObservableList<User> loadUsersToTableView(){
- DbSingleton db = DbSingleton.getInstance();
- ObservableList<User> listOfUsers = FXCollections.observableArrayList(db.getAllUsers());
- return listOfUsers;
- }
- }
- /********************************************************************************************************************/
- UserController.java
- package com.my.app.controllers;
- import java.net.URL;
- import java.util.ResourceBundle;
- import javafx.collections.FXCollections;
- import javafx.collections.ObservableList;
- import javafx.event.ActionEvent;
- import javafx.event.EventHandler;
- import javafx.fxml.FXML;
- import javafx.fxml.Initializable;
- import javafx.scene.control.Button;
- import javafx.scene.control.ComboBox;
- import javafx.scene.control.Label;
- import javafx.scene.control.PasswordField;
- import javafx.scene.control.TextField;
- import com.my.app.daoImpl.DbSingleton;
- import com.my.app.models.User;
- public class UserController implements Initializable {
- final ObservableList<String> userRoles = FXCollections.observableArrayList(
- "superadministrator", "administrator", "użytkownik");
- @FXML
- private ManagmentUsersController managmentUserController;
- @FXML
- private TextField txtName;
- @FXML
- private TextField txtLastname;
- @FXML
- private TextField txtEmail;
- @FXML
- private Label lblEmail;
- @FXML
- private Label lblPassword;
- @FXML
- private Button btnClear;
- @FXML
- private ComboBox<String> cbRole;
- @FXML
- private Button btnConfirm;
- @FXML
- private TextField txtLogin;
- @FXML
- private Label lblName;
- @FXML
- private Label lblLastname;
- @FXML
- private Label lblRole;
- @FXML
- private Label lblLogin;
- @FXML
- private PasswordField txtPassword;
- @Override
- public void initialize(URL location, ResourceBundle resources) {
- // TODO Auto-generated method stub
- cbRole.setItems(userRoles);
- configureButtons();
- }
- public void configureButtons(){
- btnConfirm.setOnAction(new EventHandler<ActionEvent>() {
- @Override
- public void handle(ActionEvent event) {
- DbSingleton db = DbSingleton.getInstance();
- User userToAdd = new User();
- userToAdd.setLogin(txtLogin.getText());;
- userToAdd.setPassword(txtPassword.getText());
- userToAdd.setRole(cbRole.getValue());
- userToAdd.setName(txtName.getText());
- userToAdd.setLastname(txtLastname.getText());
- userToAdd.setEmail(txtEmail.getText());
- //walidacja pol dorobic
- //pewnie hibernate - validator
- //pozytywny wynik dodajemy
- db.saveUser(userToAdd);
- //jesli dodal odswiez widok
- ObservableList<User> listOfUsers = FXCollections.observableArrayList(db.getAllUsers());
- managmentUserController.getTableViewUser().setItems(listOfUsers);
- }
- });
- }
- }
- /******************************************************************************************************************/
- //Pliki widoku
- UserAddEditView.fxml
- <?xml version="1.0" encoding="UTF-8"?>
- <?import javafx.scene.shape.*?>
- <?import javafx.scene.control.*?>
- <?import java.lang.*?>
- <?import javafx.scene.layout.*?>
- <BorderPane maxHeight="-Infinity" maxWidth="-Infinity"
- minHeight="-Infinity" minWidth="-Infinity" prefHeight="302.0"
- prefWidth="299.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"
- fx:controller="com.my.app.controllers.UserController">
- <!-- <children> -->
- <!-- <fx:include fx:id="managmentUser" source="/com/my/app/views/ManagmentUsersView.fxml" /> -->
- <!-- </children> -->
- <top>
- <MenuBar BorderPane.alignment="CENTER">
- <menus>
- <Menu mnemonicParsing="false" text="File">
- <items>
- <MenuItem mnemonicParsing="false" text="Close" />
- </items>
- </Menu>
- <Menu mnemonicParsing="false" text="Edit">
- <items>
- <MenuItem mnemonicParsing="false" text="Delete" />
- </items>
- </Menu>
- <Menu mnemonicParsing="false" text="Help">
- <items>
- <MenuItem mnemonicParsing="false" text="About" />
- </items>
- </Menu>
- </menus>
- </MenuBar>
- </top>
- <center>
- <AnchorPane prefHeight="310.0" prefWidth="288.0"
- BorderPane.alignment="CENTER">
- <children>
- <Label fx:id="lblName" alignment="CENTER_RIGHT" layoutX="16.0"
- layoutY="33.0" prefHeight="15.0" prefWidth="69.0" text="Name:" />
- <Label fx:id="lblLogin" alignment="CENTER_RIGHT" layoutX="16.0"
- layoutY="156.0" prefHeight="15.0" prefWidth="69.0" text="Login:" />
- <Separator layoutX="91.0" layoutY="13.0" orientation="VERTICAL"
- prefHeight="206.0" prefWidth="4.0" />
- <ComboBox fx:id="cbRole" layoutX="106.0" layoutY="92.0"
- prefWidth="171.0" visibleRowCount="3" />
- <TextField fx:id="txtName" layoutX="106.0" layoutY="28.0"
- prefWidth="171.0" promptText="Name" />
- <TextField fx:id="txtLastname" layoutX="106.0" layoutY="58.0"
- prefWidth="171.0" promptText="Lastname" />
- <TextField fx:id="txtEmail" layoutX="106.0" layoutY="122.0"
- prefWidth="171.0" promptText="Email" />
- <TextField fx:id="txtLogin" layoutX="106.0" layoutY="152.0"
- prefWidth="171.0" promptText="Login" />
- <PasswordField fx:id="txtPassword" layoutX="106.0"
- layoutY="182.0" prefWidth="171.0" promptText="Password" />
- <Button fx:id="btnClear" layoutX="53.0" layoutY="232.0"
- mnemonicParsing="false" prefHeight="25.0" prefWidth="81.0" text="Clear" />
- <Button fx:id="btnConfirm" layoutX="151.0" layoutY="232.0"
- mnemonicParsing="false" prefHeight="25.0" prefWidth="81.0" text="Confirm" />
- <Label fx:id="lblLastname" alignment="CENTER_RIGHT" layoutX="16.0"
- layoutY="63.0" prefHeight="15.0" prefWidth="69.0" text="Lastname:" />
- <Label fx:id="lblRole" alignment="CENTER_RIGHT" layoutX="16.0"
- layoutY="97.0" prefHeight="15.0" prefWidth="69.0" text="Role:" />
- <Label fx:id="lblEmail" alignment="CENTER_RIGHT" layoutX="16.0"
- layoutY="126.0" prefHeight="15.0" prefWidth="69.0" text="Email:" />
- <Label fx:id="lblPassword" alignment="CENTER_RIGHT" layoutX="16.0"
- layoutY="186.0" prefHeight="15.0" prefWidth="69.0" text="Password:" />
- </children>
- </AnchorPane>
- </center>
- </BorderPane>
- /*******************************************************************************************************************/
- ManagmentUsersView.fxml
- <?xml version="1.0" encoding="UTF-8"?>
- <?import java.lang.*?>
- <?import javafx.scene.control.*?>
- <?import javafx.scene.layout.*?>
- <?import javafx.scene.layout.BorderPane?>
- <BorderPane prefHeight="361.0" prefWidth="615.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.my.app.controllers.ManagmentUsersController">
- <top>
- <MenuBar fx:id="menuBarUsers" BorderPane.alignment="CENTER">
- <menus>
- <Menu mnemonicParsing="false" text="File">
- <items>
- <MenuItem mnemonicParsing="false" text="Close" />
- </items>
- </Menu>
- <Menu mnemonicParsing="false" text="Edit">
- <items>
- <MenuItem mnemonicParsing="false" text="Delete" />
- </items>
- </Menu>
- <Menu mnemonicParsing="false" text="Help">
- <items>
- <MenuItem mnemonicParsing="false" text="About" />
- </items>
- </Menu>
- </menus>
- </MenuBar>
- </top>
- <center>
- <AnchorPane prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER">
- <children>
- <TableView fx:id="tableViewUser" prefHeight="200.0" prefWidth="200.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
- <columns>
- <TableColumn fx:id="tableColumnId" prefWidth="75.0" text="ID" />
- <TableColumn fx:id="tableColumnLogin" prefWidth="75.0" text="Login" />
- <TableColumn fx:id="tableColumnPassword" prefWidth="75.0" text="Password" />
- <TableColumn fx:id="tableColumnRole" prefWidth="75.0" text="Rola" />
- <TableColumn fx:id="tableColumnName" prefWidth="75.0" text="Name" />
- <TableColumn fx:id="tableColumnLastname" prefWidth="75.0" text="Lastname" />
- <TableColumn fx:id="tableColumnEmail" prefWidth="75.0" text="Email" />
- </columns>
- <columnResizePolicy>
- <TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
- </columnResizePolicy>
- </TableView>
- </children>
- </AnchorPane>
- </center>
- <bottom>
- <HBox prefHeight="100.0" prefWidth="200.0" BorderPane.alignment="CENTER">
- <children>
- <Button fx:id="btnAddUser" mnemonicParsing="false" text="Add user" />
- <Button fx:id="btnEditUser" mnemonicParsing="false" text="Edit user" />
- <Button fx:id="btnRemoveUser" mnemonicParsing="false" text="Remove user" />
- <Button fx:id="btnRefreshUsers" mnemonicParsing="false" text="Refresh" />
- </children>
- </HBox>
- </bottom>
- </BorderPane>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement