Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package javafxapplication6;
- import java.util.Collections;
- import javafx.application.Application;
- import javafx.beans.property.SimpleIntegerProperty;
- import javafx.beans.property.SimpleStringProperty;
- import javafx.beans.value.ObservableIntegerValue;
- import javafx.collections.FXCollections;
- import javafx.collections.ObservableList;
- import javafx.event.ActionEvent;
- import javafx.event.EventHandler;
- import javafx.geometry.Insets;
- import javafx.scene.Group;
- import javafx.scene.Scene;
- import javafx.scene.control.Button;
- import javafx.scene.control.Label;
- import javafx.scene.control.TableCell;
- import javafx.scene.control.TableColumn;
- import javafx.scene.control.TableColumn.CellEditEvent;
- import javafx.scene.control.TableView;
- import javafx.scene.control.TextField;
- import javafx.scene.control.cell.PropertyValueFactory;
- import javafx.scene.control.cell.TextFieldTableCell;
- import javafx.scene.layout.HBox;
- import javafx.scene.layout.VBox;
- import javafx.scene.text.Font;
- import javafx.stage.Stage;
- import javafx.util.Callback;
- import javax.swing.ListSelectionModel;
- import static javax.xml.bind.JAXBIntrospector.getValue;
- public class JavaFXApplication6 extends Application
- {
- private TableView<Person> tableView = new TableView<Person>();
- private final ObservableList<Person> data = FXCollections.observableArrayList(
- new Person("Allan", "Smith", "allan.smith@example.com","extra",22),
- new Person("Zombie", "Jack","zombie.jack@test.com","extra", 23),
- new Person("Michael", "Rock", "michael.rock@yahoo.com","extra",24),
- new Person("Best", "Jones","best.jones@example.com","extra", 11),
- new Person("Aaron", "Cone","acone@blueprintrf.com","extra", 38));
- final HBox hb = new HBox();
- public static void main(String[] args)
- {
- launch(args);
- }
- @Override
- public void start(Stage stage)
- {
- System.out.println(data);
- data.add(new Person("Jerk", "Smith", "jerk.smith@example.com","extra",22));
- Scene scene = new Scene(new Group());
- stage.setTitle("Jail Records");
- stage.setWidth(650);
- stage.setHeight(550);
- final Label label = new Label("Inmates at Cobb County");
- label.setFont(new Font("Arial", 20));
- tableView.setEditable(true);
- TableColumn firstNameCol = new TableColumn("First Name");
- firstNameCol.setMinWidth(100);
- firstNameCol.setCellValueFactory(new PropertyValueFactory<Person, String>("firstName"));
- firstNameCol.setSortType(TableColumn.SortType.ASCENDING);
- firstNameCol.setCellFactory(TextFieldTableCell.<Person>forTableColumn());
- firstNameCol.setOnEditCommit(
- new EventHandler<CellEditEvent<Person, String>>() {
- @Override
- public void handle(CellEditEvent<Person, String> t) {
- ((Person) t.getTableView().getItems().get(
- t.getTablePosition().getRow())
- ).setFirstName(t.getNewValue());
- System.out.println(data);
- System.out.println(t.getNewValue());
- }
- }
- );
- TableColumn lastNameCol = new TableColumn("Last Name");
- lastNameCol.setMinWidth(100);
- lastNameCol.setCellValueFactory(new PropertyValueFactory<Person, String>("lastName"));
- TableColumn emailCol = new TableColumn("Email");
- emailCol.setMinWidth(200);
- emailCol.setCellValueFactory(new PropertyValueFactory<Person, String>("email"));
- TableColumn ageCol = new TableColumn("Age");
- ageCol.setMinWidth(200);
- ageCol.setCellValueFactory(new PropertyValueFactory<Person, Integer>("age"));
- Collections.sort(data);
- tableView.setItems(data);
- tableView.getColumns().addAll(firstNameCol, lastNameCol, emailCol, ageCol);
- tableView.getSortOrder().add(lastNameCol);
- //Start code for adding new person
- final TextField addFirstName = new TextField();
- addFirstName.setPromptText("First Name");
- addFirstName.setMaxWidth(firstNameCol.getPrefWidth());
- final TextField addLastName = new TextField();
- addLastName.setMaxWidth(lastNameCol.getPrefWidth());
- addLastName.setPromptText("Last Name");
- final TextField addEmail = new TextField();
- addEmail.setMaxWidth(emailCol.getPrefWidth());
- addEmail.setPromptText("Email");
- final Button addButton = new Button("Add");
- addButton.setOnAction(new EventHandler<ActionEvent>() {
- @Override
- public void handle(ActionEvent e) {
- data.add(new Person(
- addFirstName.getText(),
- addLastName.getText(),
- addEmail.getText(),"extra",4));
- addFirstName.clear();
- addLastName.clear();
- addEmail.clear();
- System.out.println(data);
- }
- });
- hb.getChildren().addAll(addFirstName, addLastName, addEmail, addButton);
- hb.setSpacing(3);
- final VBox vbox = new VBox();
- vbox.setSpacing(5);
- vbox.setPadding(new Insets(10, 0, 0, 10));
- vbox.getChildren().addAll(label, tableView, hb);
- ((Group) scene.getRoot()).getChildren().addAll(vbox);
- stage.setScene(scene);
- stage.show();
- }
- public static class Person implements Comparable<Person>
- {
- private final SimpleStringProperty firstName;
- private final SimpleStringProperty lastName;
- private final SimpleStringProperty email;
- private final SimpleIntegerProperty age;
- private final SimpleStringProperty extra;
- private Person(String fName, String lName, String email, String extra, int age)
- {
- this.firstName = new SimpleStringProperty(fName);
- this.lastName = new SimpleStringProperty(lName);
- this.email = new SimpleStringProperty(email);
- this.age = new SimpleIntegerProperty(age);
- this.extra = new SimpleStringProperty(extra);
- }
- public SimpleIntegerProperty getAge()
- {
- System.out.println(age);
- return age;
- }
- public void setAge(int passedAge)
- {
- System.out.println(age.getValue());
- age.set(passedAge);
- }
- public String getFirstName()
- {
- return firstName.get();
- }
- public String toString() {
- return firstName.get() + " " + lastName.get() + (email.get());
- }
- public void setFirstName(String fName)
- {
- firstName.set(fName);
- }
- public String getLastName()
- {
- return lastName.get();
- }
- public void setLastName(String fName)
- {
- lastName.set(fName);
- }
- public String getEmail()
- {
- return email.get();
- }
- public void setEmail(String fName)
- {
- email.set(fName);
- }
- public String getExtra()
- {
- return extra.get();
- }
- public void setExtra(String fName)
- {
- extra.set(fName);
- }
- public int compareTo(Person o)
- {
- return firstName.get().compareTo(o.getFirstName());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement