Advertisement
Guest User

Untitled

a guest
Mar 4th, 2015
321
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 12.43 KB | None | 0 0
  1. ManagmentUsersController.java
  2. package com.my.app.controllers;
  3.  
  4. import java.net.URL;
  5. import java.util.ResourceBundle;
  6.  
  7. import javafx.collections.FXCollections;
  8. import javafx.collections.ObservableList;
  9. import javafx.event.ActionEvent;
  10. import javafx.event.EventHandler;
  11. import javafx.fxml.FXML;
  12. import javafx.fxml.Initializable;
  13. import javafx.scene.control.Button;
  14. import javafx.scene.control.MenuBar;
  15. import javafx.scene.control.TableColumn;
  16. import javafx.scene.control.TableView;
  17. import javafx.scene.control.cell.PropertyValueFactory;
  18.  
  19. import com.my.app.daoImpl.DbSingleton;
  20. import com.my.app.models.User;
  21. import com.my.app.others.ViewChanger;
  22.  
  23. public class ManagmentUsersController implements Initializable {
  24.  
  25.     @FXML
  26.     private TableView<User> tableViewUser;
  27.    
  28.     @FXML
  29.     private TableColumn<?, ?> tableColumnLastname;
  30.  
  31.     @FXML
  32.     private Button btnEditUser;
  33.  
  34.     @FXML
  35.     private Button btnRemoveUser;
  36.  
  37.     @FXML
  38.     private Button btnAddUser;
  39.    
  40.     @FXML
  41.     private Button btnRefreshUsers;
  42.  
  43.     @FXML
  44.     private TableColumn<?, ?> tableColumnName;
  45.  
  46.     @FXML
  47.     private TableColumn<?, ?> tableColumnRole;
  48.  
  49.     @FXML
  50.     private TableColumn<?, ?> tableColumnId;
  51.  
  52.     @FXML
  53.     private MenuBar menuBarUsers;
  54.  
  55.     @FXML
  56.     private TableColumn<?, ?> tableColumnEmail;
  57.    
  58.     @FXML
  59.     private TableColumn<?, ?> tableColumnLogin;
  60.  
  61.     @FXML
  62.     private TableColumn<?, ?> tableColumnPassword;
  63.    
  64.    
  65.  
  66.     public TableView<User> getTableViewUser() {
  67.         return tableViewUser;
  68.     }
  69.  
  70.     public void setTableViewUser(TableView<User> tableViewUser) {
  71.         this.tableViewUser = tableViewUser;
  72.     }
  73.  
  74.     public Button getBtnRefreshUsers() {
  75.         return btnRefreshUsers;
  76.     }
  77.  
  78.     public void setBtnRefreshUsers(Button btnRefreshUsers) {
  79.         this.btnRefreshUsers = btnRefreshUsers;
  80.     }
  81.  
  82.     @Override
  83.     public void initialize(URL location, ResourceBundle resources) {
  84.         // TODO Auto-generated method stub
  85.        
  86.         configureMenu();
  87.         configureButtons();
  88.         configureTableViewUser();
  89.     }
  90.    
  91.     public void configureMenu(){
  92.        
  93.     }
  94.     public void configureButtons(){
  95.         btnAddUser.setOnAction(new EventHandler<ActionEvent>() {
  96.             @Override
  97.             public void handle(ActionEvent event) {
  98.                 ViewChanger vch = new ViewChanger();
  99.                 vch.changeViewModalityWindow(
  100.                         "/com/my/app/views/UserAddEditView.fxml", "Add user",
  101.                         event);
  102.             }
  103.         });
  104.         btnEditUser.setOnAction(new EventHandler<ActionEvent>() {
  105.             @Override
  106.             public void handle(ActionEvent event) {
  107.  
  108.             }
  109.         });
  110.        
  111.         btnRefreshUsers.setOnAction(new EventHandler<ActionEvent>() {
  112.             @Override
  113.             public void handle(ActionEvent event) {
  114.                 tableViewUser.setItems(loadUsersToTableView());
  115.             }
  116.         });
  117.  
  118.     }
  119.    
  120.     public void configureTableViewUser(){
  121.         tableColumnId.setCellValueFactory(new PropertyValueFactory<>(
  122.                 "id"));
  123.        
  124.         tableColumnLogin.setCellValueFactory(new PropertyValueFactory<>(
  125.                 "login"));
  126.         tableColumnPassword.setCellValueFactory(new PropertyValueFactory<>(
  127.                 "password"));
  128.         tableColumnRole.setCellValueFactory(new PropertyValueFactory<>(
  129.                 "role"));
  130.         tableColumnName.setCellValueFactory(new PropertyValueFactory<>(
  131.                 "name"));
  132.         tableColumnLastname.setCellValueFactory(new PropertyValueFactory<>(
  133.                 "lastname"));
  134.         tableColumnEmail.setCellValueFactory(new PropertyValueFactory<>(
  135.                 "email"));
  136.  
  137.  
  138.         //loadUsersToTableView();
  139.    
  140.        
  141.         tableViewUser.setItems(loadUsersToTableView());
  142.     }
  143.    
  144.     private  ObservableList<User> loadUsersToTableView(){
  145.         DbSingleton db = DbSingleton.getInstance();
  146.         ObservableList<User> listOfUsers = FXCollections.observableArrayList(db.getAllUsers());
  147.         return listOfUsers;
  148.     }
  149. }
  150.  
  151. /********************************************************************************************************************/
  152. UserController.java
  153. package com.my.app.controllers;
  154.  
  155. import java.net.URL;
  156. import java.util.ResourceBundle;
  157.  
  158. import javafx.collections.FXCollections;
  159. import javafx.collections.ObservableList;
  160. import javafx.event.ActionEvent;
  161. import javafx.event.EventHandler;
  162. import javafx.fxml.FXML;
  163. import javafx.fxml.Initializable;
  164. import javafx.scene.control.Button;
  165. import javafx.scene.control.ComboBox;
  166. import javafx.scene.control.Label;
  167. import javafx.scene.control.PasswordField;
  168. import javafx.scene.control.TextField;
  169.  
  170. import com.my.app.daoImpl.DbSingleton;
  171. import com.my.app.models.User;
  172.  
  173. public class UserController implements Initializable {
  174.    
  175.     final ObservableList<String> userRoles = FXCollections.observableArrayList(
  176.             "superadministrator", "administrator", "użytkownik");
  177.    
  178.     @FXML
  179.     private ManagmentUsersController managmentUserController;
  180.    
  181.     @FXML
  182.     private TextField txtName;
  183.  
  184.     @FXML
  185.     private TextField txtLastname;
  186.  
  187.     @FXML
  188.     private TextField txtEmail;
  189.  
  190.     @FXML
  191.     private Label lblEmail;
  192.  
  193.     @FXML
  194.     private Label lblPassword;
  195.  
  196.     @FXML
  197.     private Button btnClear;
  198.  
  199.     @FXML
  200.     private ComboBox<String> cbRole;
  201.  
  202.     @FXML
  203.     private Button btnConfirm;
  204.  
  205.     @FXML
  206.     private TextField txtLogin;
  207.  
  208.     @FXML
  209.     private Label lblName;
  210.  
  211.     @FXML
  212.     private Label lblLastname;
  213.  
  214.     @FXML
  215.     private Label lblRole;
  216.  
  217.     @FXML
  218.     private Label lblLogin;
  219.  
  220.     @FXML
  221.     private PasswordField txtPassword;
  222.  
  223.     @Override
  224.     public void initialize(URL location, ResourceBundle resources) {
  225.         // TODO Auto-generated method stub
  226.         cbRole.setItems(userRoles);
  227.         configureButtons();
  228.     }
  229.    
  230.     public void configureButtons(){
  231.         btnConfirm.setOnAction(new EventHandler<ActionEvent>() {
  232.             @Override
  233.             public void handle(ActionEvent event) {
  234.                 DbSingleton db = DbSingleton.getInstance();
  235.                 User userToAdd = new User();
  236.                 userToAdd.setLogin(txtLogin.getText());;
  237.                 userToAdd.setPassword(txtPassword.getText());
  238.                 userToAdd.setRole(cbRole.getValue());
  239.                 userToAdd.setName(txtName.getText());
  240.                 userToAdd.setLastname(txtLastname.getText());
  241.                 userToAdd.setEmail(txtEmail.getText());
  242.                 //walidacja pol dorobic
  243.                 //pewnie hibernate - validator
  244.                 //pozytywny wynik dodajemy
  245.                 db.saveUser(userToAdd);
  246.                
  247.                 //jesli dodal odswiez widok
  248.            
  249.                 ObservableList<User> listOfUsers = FXCollections.observableArrayList(db.getAllUsers());
  250.                 managmentUserController.getTableViewUser().setItems(listOfUsers);
  251.                
  252.             }
  253.         });
  254.     }
  255.  
  256. }
  257. /******************************************************************************************************************/
  258. //Pliki widoku
  259. UserAddEditView.fxml
  260. <?xml version="1.0" encoding="UTF-8"?>
  261.  
  262. <?import javafx.scene.shape.*?>
  263. <?import javafx.scene.control.*?>
  264. <?import java.lang.*?>
  265. <?import javafx.scene.layout.*?>
  266.  
  267. <BorderPane maxHeight="-Infinity" maxWidth="-Infinity"
  268.     minHeight="-Infinity" minWidth="-Infinity" prefHeight="302.0"
  269.     prefWidth="299.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"
  270.     fx:controller="com.my.app.controllers.UserController">
  271. <!--    <children> -->
  272. <!--        <fx:include fx:id="managmentUser" source="/com/my/app/views/ManagmentUsersView.fxml" /> -->
  273. <!--    </children> -->
  274.     <top>
  275.         <MenuBar BorderPane.alignment="CENTER">
  276.             <menus>
  277.                 <Menu mnemonicParsing="false" text="File">
  278.                     <items>
  279.                         <MenuItem mnemonicParsing="false" text="Close" />
  280.                     </items>
  281.                 </Menu>
  282.                 <Menu mnemonicParsing="false" text="Edit">
  283.                     <items>
  284.                         <MenuItem mnemonicParsing="false" text="Delete" />
  285.                     </items>
  286.                 </Menu>
  287.                 <Menu mnemonicParsing="false" text="Help">
  288.                     <items>
  289.                         <MenuItem mnemonicParsing="false" text="About" />
  290.                     </items>
  291.                 </Menu>
  292.             </menus>
  293.         </MenuBar>
  294.     </top>
  295.     <center>
  296.         <AnchorPane prefHeight="310.0" prefWidth="288.0"
  297.             BorderPane.alignment="CENTER">
  298.             <children>
  299.                 <Label fx:id="lblName" alignment="CENTER_RIGHT" layoutX="16.0"
  300.                     layoutY="33.0" prefHeight="15.0" prefWidth="69.0" text="Name:" />
  301.                 <Label fx:id="lblLogin" alignment="CENTER_RIGHT" layoutX="16.0"
  302.                     layoutY="156.0" prefHeight="15.0" prefWidth="69.0" text="Login:" />
  303.                 <Separator layoutX="91.0" layoutY="13.0" orientation="VERTICAL"
  304.                     prefHeight="206.0" prefWidth="4.0" />
  305.                 <ComboBox fx:id="cbRole" layoutX="106.0" layoutY="92.0"
  306.                     prefWidth="171.0" visibleRowCount="3" />
  307.                 <TextField fx:id="txtName" layoutX="106.0" layoutY="28.0"
  308.                     prefWidth="171.0" promptText="Name" />
  309.                 <TextField fx:id="txtLastname" layoutX="106.0" layoutY="58.0"
  310.                     prefWidth="171.0" promptText="Lastname" />
  311.                 <TextField fx:id="txtEmail" layoutX="106.0" layoutY="122.0"
  312.                     prefWidth="171.0" promptText="Email" />
  313.                 <TextField fx:id="txtLogin" layoutX="106.0" layoutY="152.0"
  314.                     prefWidth="171.0" promptText="Login" />
  315.                 <PasswordField fx:id="txtPassword" layoutX="106.0"
  316.                     layoutY="182.0" prefWidth="171.0" promptText="Password" />
  317.                 <Button fx:id="btnClear" layoutX="53.0" layoutY="232.0"
  318.                     mnemonicParsing="false" prefHeight="25.0" prefWidth="81.0" text="Clear" />
  319.                 <Button fx:id="btnConfirm" layoutX="151.0" layoutY="232.0"
  320.                     mnemonicParsing="false" prefHeight="25.0" prefWidth="81.0" text="Confirm" />
  321.                 <Label fx:id="lblLastname" alignment="CENTER_RIGHT" layoutX="16.0"
  322.                     layoutY="63.0" prefHeight="15.0" prefWidth="69.0" text="Lastname:" />
  323.                 <Label fx:id="lblRole" alignment="CENTER_RIGHT" layoutX="16.0"
  324.                     layoutY="97.0" prefHeight="15.0" prefWidth="69.0" text="Role:" />
  325.                 <Label fx:id="lblEmail" alignment="CENTER_RIGHT" layoutX="16.0"
  326.                     layoutY="126.0" prefHeight="15.0" prefWidth="69.0" text="Email:" />
  327.                 <Label fx:id="lblPassword" alignment="CENTER_RIGHT" layoutX="16.0"
  328.                     layoutY="186.0" prefHeight="15.0" prefWidth="69.0" text="Password:" />
  329.             </children>
  330.         </AnchorPane>
  331.     </center>
  332. </BorderPane>
  333.  
  334. /*******************************************************************************************************************/
  335. ManagmentUsersView.fxml
  336. <?xml version="1.0" encoding="UTF-8"?>
  337.  
  338. <?import java.lang.*?>
  339. <?import javafx.scene.control.*?>
  340. <?import javafx.scene.layout.*?>
  341. <?import javafx.scene.layout.BorderPane?>
  342.  
  343. <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">
  344.  
  345.    <top>
  346.       <MenuBar fx:id="menuBarUsers" BorderPane.alignment="CENTER">
  347.         <menus>
  348.           <Menu mnemonicParsing="false" text="File">
  349.             <items>
  350.               <MenuItem mnemonicParsing="false" text="Close" />
  351.             </items>
  352.           </Menu>
  353.           <Menu mnemonicParsing="false" text="Edit">
  354.             <items>
  355.               <MenuItem mnemonicParsing="false" text="Delete" />
  356.             </items>
  357.           </Menu>
  358.           <Menu mnemonicParsing="false" text="Help">
  359.             <items>
  360.               <MenuItem mnemonicParsing="false" text="About" />
  361.             </items>
  362.           </Menu>
  363.         </menus>
  364.       </MenuBar>
  365.    </top>
  366.    <center>
  367.       <AnchorPane prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER">
  368.          <children>
  369.             <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">
  370.               <columns>
  371.                 <TableColumn fx:id="tableColumnId" prefWidth="75.0" text="ID" />
  372.                 <TableColumn fx:id="tableColumnLogin" prefWidth="75.0" text="Login" />
  373.                   <TableColumn fx:id="tableColumnPassword" prefWidth="75.0" text="Password" />
  374.                   <TableColumn fx:id="tableColumnRole" prefWidth="75.0" text="Rola" />
  375.                   <TableColumn fx:id="tableColumnName" prefWidth="75.0" text="Name" />
  376.                   <TableColumn fx:id="tableColumnLastname" prefWidth="75.0" text="Lastname" />
  377.                   <TableColumn fx:id="tableColumnEmail" prefWidth="75.0" text="Email" />
  378.               </columns>
  379.                <columnResizePolicy>
  380.                   <TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
  381.                </columnResizePolicy>
  382.             </TableView>
  383.          </children>
  384.       </AnchorPane>
  385.    </center>
  386.    <bottom>
  387.       <HBox prefHeight="100.0" prefWidth="200.0" BorderPane.alignment="CENTER">
  388.          <children>
  389.             <Button fx:id="btnAddUser" mnemonicParsing="false" text="Add user" />
  390.             <Button fx:id="btnEditUser" mnemonicParsing="false" text="Edit user" />
  391.             <Button fx:id="btnRemoveUser" mnemonicParsing="false" text="Remove user" />
  392.             <Button fx:id="btnRefreshUsers" mnemonicParsing="false" text="Refresh" />
  393.          </children>
  394.       </HBox>
  395.    </bottom>
  396. </BorderPane>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement