Advertisement
Guest User

Java

a guest
Nov 9th, 2015
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.44 KB | None | 0 0
  1. package javafxapplication6;
  2.  
  3. import java.util.Collections;
  4.  
  5. import javafx.application.Application;
  6. import javafx.beans.property.SimpleIntegerProperty;
  7. import javafx.beans.property.SimpleStringProperty;
  8. import javafx.beans.value.ObservableIntegerValue;
  9. import javafx.collections.FXCollections;
  10. import javafx.collections.ObservableList;
  11. import javafx.event.ActionEvent;
  12. import javafx.event.EventHandler;
  13. import javafx.geometry.Insets;
  14. import javafx.scene.Group;
  15. import javafx.scene.Scene;
  16. import javafx.scene.control.Button;
  17. import javafx.scene.control.Label;
  18. import javafx.scene.control.TableCell;
  19. import javafx.scene.control.TableColumn;
  20. import javafx.scene.control.TableColumn.CellEditEvent;
  21. import javafx.scene.control.TableView;
  22. import javafx.scene.control.TextField;
  23. import javafx.scene.control.cell.PropertyValueFactory;
  24. import javafx.scene.control.cell.TextFieldTableCell;
  25. import javafx.scene.layout.HBox;
  26. import javafx.scene.layout.VBox;
  27. import javafx.scene.text.Font;
  28. import javafx.stage.Stage;
  29. import javafx.util.Callback;
  30. import javax.swing.ListSelectionModel;
  31. import static javax.xml.bind.JAXBIntrospector.getValue;
  32.  
  33. public class JavaFXApplication6 extends Application
  34. {
  35.  
  36. private TableView<Person>            tableView = new TableView<Person>();
  37. private final ObservableList<Person> data      = FXCollections.observableArrayList(
  38.                                                    new Person("Allan", "Smith", "allan.smith@example.com","extra",22),
  39.                                                    new Person("Zombie", "Jack","zombie.jack@test.com","extra", 23),
  40.                                                    new Person("Michael", "Rock", "michael.rock@yahoo.com","extra",24),
  41.                                                    new Person("Best", "Jones","best.jones@example.com","extra", 11),
  42.                                                    new Person("Aaron", "Cone","acone@blueprintrf.com","extra", 38));
  43.  final HBox hb = new HBox();
  44.  
  45. public static void main(String[] args)
  46. {
  47.     launch(args);
  48. }
  49.  
  50. @Override
  51. public void start(Stage stage)
  52. {
  53.     System.out.println(data);
  54.     data.add(new Person("Jerk", "Smith", "jerk.smith@example.com","extra",22));
  55.     Scene scene = new Scene(new Group());
  56.     stage.setTitle("Jail Records");
  57.     stage.setWidth(650);
  58.     stage.setHeight(550);
  59.  
  60.     final Label label = new Label("Inmates at Cobb County");
  61.     label.setFont(new Font("Arial", 20));
  62.  
  63.     tableView.setEditable(true);
  64.    
  65.     TableColumn firstNameCol = new TableColumn("First Name");
  66.     firstNameCol.setMinWidth(100);
  67.     firstNameCol.setCellValueFactory(new PropertyValueFactory<Person, String>("firstName"));
  68.     firstNameCol.setSortType(TableColumn.SortType.ASCENDING);
  69.     firstNameCol.setCellFactory(TextFieldTableCell.<Person>forTableColumn());
  70.         firstNameCol.setOnEditCommit(
  71.              new EventHandler<CellEditEvent<Person, String>>() {
  72.                 @Override
  73.                 public void handle(CellEditEvent<Person, String> t) {
  74.                     ((Person) t.getTableView().getItems().get(
  75.                             t.getTablePosition().getRow())
  76.                             ).setFirstName(t.getNewValue());
  77.                             System.out.println(data);
  78.                            
  79.                             System.out.println(t.getNewValue());
  80.                 }
  81.             }
  82.         );
  83.        
  84.  
  85.     TableColumn lastNameCol = new TableColumn("Last Name");
  86.     lastNameCol.setMinWidth(100);
  87.     lastNameCol.setCellValueFactory(new PropertyValueFactory<Person, String>("lastName"));
  88.  
  89.     TableColumn emailCol = new TableColumn("Email");
  90.     emailCol.setMinWidth(200);
  91.     emailCol.setCellValueFactory(new PropertyValueFactory<Person, String>("email"));
  92.  
  93.     TableColumn ageCol = new TableColumn("Age");
  94.     ageCol.setMinWidth(200);
  95.     ageCol.setCellValueFactory(new PropertyValueFactory<Person, Integer>("age"));
  96.    
  97.    
  98.    
  99.  
  100.     Collections.sort(data);
  101.  
  102.     tableView.setItems(data);
  103.     tableView.getColumns().addAll(firstNameCol, lastNameCol, emailCol, ageCol);
  104.     tableView.getSortOrder().add(lastNameCol);
  105.  
  106.    
  107.     //Start code for adding new person
  108.     final TextField addFirstName = new TextField();
  109.         addFirstName.setPromptText("First Name");
  110.         addFirstName.setMaxWidth(firstNameCol.getPrefWidth());
  111.         final TextField addLastName = new TextField();
  112.         addLastName.setMaxWidth(lastNameCol.getPrefWidth());
  113.         addLastName.setPromptText("Last Name");
  114.         final TextField addEmail = new TextField();
  115.         addEmail.setMaxWidth(emailCol.getPrefWidth());
  116.         addEmail.setPromptText("Email");
  117.  
  118.         final Button addButton = new Button("Add");
  119.         addButton.setOnAction(new EventHandler<ActionEvent>() {
  120.             @Override
  121.             public void handle(ActionEvent e) {
  122.                 data.add(new Person(
  123.                         addFirstName.getText(),
  124.                         addLastName.getText(),
  125.                         addEmail.getText(),"extra",4));
  126.                        
  127.                 addFirstName.clear();
  128.                 addLastName.clear();
  129.                 addEmail.clear();
  130.                 System.out.println(data);
  131.             }
  132.         });
  133.  
  134.         hb.getChildren().addAll(addFirstName, addLastName, addEmail, addButton);
  135.         hb.setSpacing(3);
  136.    
  137.        
  138.     final VBox vbox = new VBox();
  139.         vbox.setSpacing(5);
  140.         vbox.setPadding(new Insets(10, 0, 0, 10));
  141.         vbox.getChildren().addAll(label, tableView, hb);
  142.  
  143.         ((Group) scene.getRoot()).getChildren().addAll(vbox);
  144.  
  145.     stage.setScene(scene);
  146.     stage.show();
  147.    
  148. }
  149.    
  150.    
  151.  
  152.  
  153. public static class Person implements Comparable<Person>
  154. {
  155.  
  156.     private final SimpleStringProperty  firstName;
  157.     private final SimpleStringProperty  lastName;
  158.     private final SimpleStringProperty  email;
  159.     private final SimpleIntegerProperty age;
  160.     private final SimpleStringProperty extra;
  161.  
  162.  
  163.     private Person(String fName, String lName, String email, String extra, int age)
  164.     {
  165.         this.firstName = new SimpleStringProperty(fName);
  166.         this.lastName = new SimpleStringProperty(lName);
  167.         this.email = new SimpleStringProperty(email);
  168.         this.age = new SimpleIntegerProperty(age);
  169.         this.extra = new SimpleStringProperty(extra);
  170.     }
  171.  
  172.     public SimpleIntegerProperty getAge()
  173.     {
  174.           System.out.println(age);
  175.         return age;
  176.     }
  177.  
  178.     public void setAge(int passedAge)
  179.     {
  180.      
  181.       System.out.println(age.getValue());
  182.         age.set(passedAge);
  183.        
  184.     }
  185.  
  186.     public String getFirstName()
  187.     {
  188.      
  189.         return firstName.get();
  190.      
  191.     }
  192.    
  193.     public String toString() {
  194.         return firstName.get() + " " + lastName.get() + (email.get());
  195.     }
  196.     public void setFirstName(String fName)
  197.     {
  198.         firstName.set(fName);
  199.     }
  200.  
  201.     public String getLastName()
  202.     {
  203.         return lastName.get();
  204.     }
  205.  
  206.     public void setLastName(String fName)
  207.     {
  208.         lastName.set(fName);
  209.     }
  210.  
  211.     public String getEmail()
  212.     {
  213.         return email.get();
  214.     }
  215.  
  216.     public void setEmail(String fName)
  217.     {
  218.         email.set(fName);
  219.     }
  220.  
  221.      public String getExtra()
  222.     {
  223.         return extra.get();
  224.     }
  225.  
  226.     public void setExtra(String fName)
  227.     {
  228.         extra.set(fName);
  229.     }
  230.    
  231.     public int compareTo(Person o)
  232.     {
  233.         return firstName.get().compareTo(o.getFirstName());
  234.     }
  235. }
  236. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement