Assignment6

You can attending at the Java programs in the argument book to see how comments are added to programs. Minimal Submitted Files You are required, but not limited, to about-face in the afterward antecedent files: Assignment6.java (No charge to modify)  Movie.java (No charge to modify, adapted adaptation from the appointment 4) Review.java (No charge to modify)  CreatePane.java - to be completed ReviewPane.java - to be completed You ability charge to add added methods than the defined ones. Skills to be Applied: JavaFX, ArrayList Classes may be needed:   Button, TextField, TextArea, Label, RadioButton, ListView, and ActionHandler. You may use alternative classes. Here is the Assignmnet6.java:  import javafx.application.Application; import javafx.stage.Stage; import javafx.scene.Scene; import javafx.scene.control.Tab; import javafx.scene.control.TabPane; import javafx.scene.layout.StackPane; import java.util.ArrayList; public chic Assignment6 extends Application {    private TabPane tabPane;    private CreatePane createPane;    private ReviewPane reviewPane;    private ArrayList<Movie> movieList;    public abandoned start(Stage stage)    {        StackPane basis = new StackPane();        //movieList to be acclimated in both createPane & reviewPane        movieList = new ArrayList<Movie>();        reviewPane = new ReviewPane(movieList);        createPane = new CreatePane(movieList, reviewPane);        tabPane = new TabPane();        Tab tab1 = new Tab();        tab1.setText("Movie Creation");        tab1.setContent(createPane);        Tab tab2 = new Tab();        tab2.setText("Movie Review");        tab2.setContent(reviewPane);        tabPane.getSelectionModel().select(0);        tabPane.getTabs().addAll(tab1, tab2);        root.getChildren().add(tabPane);        Scene arena = new Scene(root, 700, 400);        stage.setTitle("Movie Analysis Apps");        stage.setScene(scene);        stage.show();    }    public changeless abandoned main(String[] args)    {        launch(args);    } } Here is Movie.java: public chic Movie  {    private Cord movieTitle;      private int year;      private int length;      private Analysis bookReview;          //Constructor to initialize all affiliate variables    public Movie()     {       movieTitle = "?";       length = 0;       year = 0;       bookReview = new Review();     }    //Accessor methods    public Cord getMovieTitle()     {       return movieTitle;     }    public int getLength()     {       return length;     }    public int getYear()     {   return year; }    public Analysis getReview()     {        return bookReview;     }    //Mutator methods    public abandoned setMovieTitle(String aTitle)     {      movieTitle = aTitle;     }    public abandoned setLength(int aLength)     {      length = aLength;     }    public abandoned setYear(int aYear)     {         year = aYear;     }    public abandoned addRating(double rate)      {          bookReview.updateRating(rate);      }    //toString() adjustment allotment a cord containg the advice on the movie    public Cord toString()     {       String aftereffect = "\nMovie Title:\t\t" + movieTitle                     + "\nMovie Length:\t\t" + length                     + "\nMovie Year:\t\t" + year                     + "\n" + bookReview.toString() + "\n\n";       return result;      }   } Here is Review.java: import java.text.DecimalFormat; public chic Review {   private int numberOfReviews;   private bifold sumOfRatings;   private bifold average;   //Constructor to initialize all affiliate variables   public Review()    {     numberOfReviews = 0;     sumOfRatings = 0.0;     average = 0.0;    }   //It updates the cardinal of REviews and avarage based on the   //an added appraisement defined by its parameter   public abandoned updateRating(double rating)    {      numberOfReviews++;      sumOfRatings += rating;      if (numberOfReviews > 0)       {        average = sumOfRatings/numberOfReviews;       }      else        average = 0.0;    }   //toString() adjustment allotment a cord containg its analysis average   //and te cardinal of Reviews   public Cord toString()    {      DecimalFormat fmt = new DecimalFormat("0.00");      String aftereffect = "Reviews:\t" + fmt.format(average) + "("                    + numberOfReviews + ")";      return result;     }  } Here is CreatePane.java: import java.util.ArrayList; import javafx.scene.layout.HBox; //import all alternative all-important javafx classes here //---- public chic CreatePane extends HBox {     private ArrayList<Movie> movieList;          //The accord amid CreatePane and ReviewPane is Aggregation     private ReviewPane reviewPane;     //constructor     public CreatePane(ArrayList<Movie> list, ReviewPane rePane)      {         this.movieList = list;         this.reviewPane = rePane;         //Step #1: initialize anniversary instance capricious and set up the layout         //----                  //create a GridPane authority those labels & argument fields         //consider application .setPadding() or setHgap(), setVgap()         //to ascendancy the agreement and gap, etc.         //----                           //You ability charge to actualize a sub breadth to authority the button         //----                  //Set up the blueprint for the larboard bisected of the CreatePane.         //----                           //the appropriate bisected of this breadth is artlessly a TextArea object         //Note: a ScrollPane will be added to it automatically back there are no         //enough space                  //Add the larboard bisected and appropriate bisected to the CreatePane         //Note: CreatePane extends from HBox         //----                  //Step #3: annals antecedent article with accident handler         //----              } //end of constructor     //Step 2: Actualize a ButtonHandler class     //ButtonHandler listens to see if the button "Create a Movie" is pushed or not,     //When the accident occurs, it get a movie's Title, Year, and Length     //information from the accordant argument fields, again actualize a new cine and add it inside     //the movieList. Meanwhile it will affectation the movie's advice central the argument area.     //It additionally does absurdity blockage in case any of the textfields are abandoned or non-numeric cord is typed     private chic ButtonHandler accouterments EventHandler<ActionEvent>      {         //Override the abstact adjustment handle()         public abandoned handle(ActionEvent event)          {             //declare any all-important bounded variables here             //---                          //when a argument acreage is abandoned and the button is pushed             if ( //----  )                 {                     //handle the case here                                      }                 else //for all alternative cases                 {                     //----                     //at the end, don't balloon to amend the new arrayList                     //information on the ListView of the ReviewPane                     //----                                          //Also about you will charge to use try & bolt block to catch                     //the NumberFormatException                 }          } //end of handle() method    } //end of ButtonHandler class } Here is ReviewPane.java import javafx.scene.control.ListView; import javafx.collections.FXCollections; import javafx.collections.ObservableList; import javafx.scene.layout.VBox; import javafx.event.ActionEvent; //**Need to acceptation to handle event import javafx.event.EventHandler; //**Need to acceptation to handle event import java.util.ArrayList; import javafx.scene.layout.HBox; //import all alternative all-important javafx classes here //---- public chic ReviewPane extends VBox {    private ArrayList<Movie> movieList;    //A ListView to affectation movies created    private ListView<Movie> movieListView;    //declare all alternative all-important GUI variables here    //----         //constructor    public ReviewPane(ArrayList<Movie> list)    {        //initialize instance variables        this.movieList = list;        //set up the layout        //----                        //ReviewPane is a VBox - add the apparatus here        //----                //Step #3: Annals the button with its abettor class        //----                            } //end of constructor  //This adjustment brace the ListView whenever there's new cine added in CreatePane  //you will charge to amend the accentuate ObservableList article in adjustment for ListView  //object to appearance the adapted cine list  public abandoned updateMovieList(Movie newMovie)  {      //-------  }  //Step 2: Actualize a RatingHandler class  private chic RatingHandler accouterments EventHandler<ActionEvent>     {         //Override the abstact adjustment handle()         public abandoned handle(ActionEvent event)         {             //When "Submit Review" button is apprenticed and a cine is called from             //the account view's boilerplate appraisement is adapted by abacus a additional             //rating defined by a called radio button             if (//----)                 {                     //----                                      }         }     } //end of RatingHandler } //end of ReviewPane class

Order a unique copy of this paper

550 words
We'll send you the first draft for approval by September 11, 2018 at 10:52 AM
Total price:
$26
Top Academic Writers Ready to Help
with Your Research Proposal
Order now and a get a 25% discount with the discount code: COURSEGUYOrder Now!
+ +