File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.text.DecimalFormat;
import java.text.ParsePosition;
import java.time.LocalDate;
import java.util.ArrayList;
import javafx.application.Application;
import javafx.beans.property.ReadOnlyObjectWrapper;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.ComboBox;
import javafx.scene.control.DatePicker;
import javafx.scene.control.Label;
import javafx.scene.control.RadioButton;
import javafx.scene.control.TableColumn;
import javafx.scene.control.TableColumn.CellDataFeatures;
import javafx.scene.control.TableView;
import javafx.scene.control.TextField;
import javafx.scene.control.TextFormatter;
import javafx.scene.control.Toggle;
import javafx.scene.control.ToggleGroup;
import javafx.scene.control.cell.PropertyValueFactory;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.GridPane;
import javafx.scene.layout.HBox;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
import javafx.util.Callback;
@Override
public void start(Stage primaryStage) throws Exception{
// Scene 1: (Introduction Page)
GridPane grid1 = new GridPane();
Scene scene1 = new Scene(grid1, 300, 250);
grid1.setVgap(25);
grid1.setHgap(25);
combobox.getItems().addAll("Computer Science","Management
Sciences","Electrical Engineering","Chemical Engineering","BS Physics");
combobox.setValue("-Select a department-");
grid2.add(combobox,2,13);
yes.selectedProperty().addListener(new ChangeListener<Boolean>(){
@Override
public void changed(ObservableValue<? extends Boolean> observable,
Boolean oldValue, Boolean newValue) {
if(yes.isSelected()){
save.setDisable(false);
}
else{
save.setDisable(true);
}
}
});
in = new FileInputStream("C:\\Users\\Shahid\\Desktop\\b.jpg");
Image image = new Image(in,100,100,false,false);
ImageView iv = new ImageView(image);
HBox hbox3 = new HBox(iv);
grid2.add(hbox3,5,2);
grid2.setVgap(10);
grid2.setHgap(10);
col1.setMaxWidth(100);
TableColumn<Person,String> col2 = new TableColumn("Last Name");
col2.setCellValueFactory(new Callback<CellDataFeatures<Person, String>,
ObservableValue<String>>() {
public ObservableValue<String> call(CellDataFeatures<Person, String> p) {
return new ReadOnlyObjectWrapper(p.getValue().getlName());
}
});
col2.setMaxWidth(100);
TableColumn<Person,String> col3 = new TableColumn("Phone Number");
col3.setCellValueFactory(new PropertyValueFactory<>("number"));
col3.setMaxWidth(100);
TableColumn<Person,String> col4 = new TableColumn("Gender");
col4.setCellValueFactory(new PropertyValueFactory<>("gender"));
col4.setMaxWidth(100);
TableColumn<Person,LocalDate> col5 = new TableColumn("Date of Birth");
col5.setCellValueFactory(new PropertyValueFactory<>("dob"));
col5.setMaxWidth(100);
TableColumn<Person,String> col6 = new TableColumn("Department");
col6.setCellValueFactory(new PropertyValueFactory<>("Department"));
col6.setMaxWidth(100);
table.getColumns().addAll(col1,col2,col3,col4,col5,col6);
table.setItems(person);
grid3.add(table,2,3);
ok = new Button("Ok");
registered = new Button("View Registered People");
close2 = new Button ("Close");
hbox4.getChildren().addAll(ok,registered,close2);
hbox4.setAlignment(Pos.CENTER_RIGHT);
grid4.add(hbox4,2,5);
grid4.setVgap(20);
grid4.setHgap(20);
ok.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent event) {
primaryStage.setScene(scene1);
}
});
close1.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent event){
primaryStage.close();
}
});
back.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent event){
primaryStage.setScene(scene1);
}
});
save.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent event){
person.add(new
Person(fName.getText(),lName.getText(),num.getText(),group1.getSelectedToggle(),dob
.getValue(),combobox.getValue()));
for(Person p:person){
p.display();
}
primaryStage.setScene(scene4);
}
});
view.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent event){
primaryStage.setScene(scene3);
}
});
back2.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent event){
primaryStage.setScene(scene1);
}
});
registered.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent event){
primaryStage.setScene(scene3);
}
});
close2.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent event){
primaryStage.close();
}
});
close3.setOnAction(new EventHandler<ActionEvent>(){
@Override
public void handle(ActionEvent event){
primaryStage.close();
}
});