123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- package com.moviesdb;
- import javafx.fxml.FXML;
- import javafx.geometry.HPos;
- import javafx.geometry.Pos;
- import javafx.geometry.VPos;
- import javafx.scene.control.*;
- import javafx.scene.image.Image;
- import javafx.scene.image.ImageView;
- import javafx.scene.layout.AnchorPane;
- import javafx.scene.layout.GridPane;
- import javafx.scene.layout.Pane;
- import javafx.scene.control.Alert.AlertType;
- import com.moviesdb.Movie;
- import java.awt.event.MouseEvent;
- import java.time.chrono.AbstractChronology;
- public class Controller {
- @FXML
- AnchorPane browserPane;
- @FXML
- MenuItem menuNew;
- @FXML
- GridPane moviesGrid;
- @FXML
- ScrollPane scrollPane;
- @FXML
- AnchorPane detailsPane;
- @FXML
- Label detailsNameContent;
- @FXML
- Label detailsYearContent;
- @FXML
- Label detailsDurContent;
- @FXML
- Label detailsGenreContent;
- @FXML
- Label detailsDescContent;
- @FXML
- AnchorPane detailsPicPane;
- @FXML
- AnchorPane filterPane;
- Label[] movies;
- Movie my_movie;
- public void loadPosters()
- {
- my_movie = new Movie();
- my_movie.setName("Back to the Future");
- my_movie.setDuration("1:20");
- my_movie.setDescription("The CSS styles for text input controls such as TextField for JavaFX 8 are defined in the modena.css stylesheet as below. Create a custom CSS stylesheet and modify the colors as you wish. Use the CSS reference guide if you need help understanding the syntax and available attributes and values.");
- //my_movie.setCover("https://m.media-amazon.com/images/M/MV5BZmU0M2Y1OGUtZjIxNi00ZjBkLTg1MjgtOWIyNThiZWIwYjRiXkEyXkFqcGdeQXVyMTQxNzMzNDI@._V1_UX182_CR0,0,182,268_AL_.jpg");
- //get movies array
- movies = new Label[10];
- //change grid size for number of movies
- for (int i = 0; i < 10; i++)
- {
- movies[i] = new Label();
- ImageView image = new ImageView(new Image(getClass().getResourceAsStream("pic.jpg")));
- image.setFitHeight(222);
- image.setFitWidth(150);
- movies[i].setGraphic(image);
- GridPane.setValignment(movies[i], VPos.CENTER);
- GridPane.setHalignment(movies[i], HPos.CENTER);
- Label movie = movies[i];
- movies[i].setOnMouseClicked(e-> {
- openDetails(movie);
- });
- }
- //moviesGrid.setPrefWidth(scrollPane.getWidth());
- //clear old data in grid
- moviesGrid.getChildren().clear();
- //moviesGrid.setAlignment(Pos.CENTER);
- //fill grid by movies
- moviesGrid.addRow(0, movies[0], movies[1]);
- moviesGrid.addRow(1,movies[4],movies[5]);
- moviesGrid.setPrefWidth(browserPane.getWidth()-26);
- moviesGrid.setPrefHeight(browserPane.getHeight()-50);
- }
- public void returnMessage()
- {
- Alert alert = new Alert(AlertType.CONFIRMATION, "Are you sure you want to format your system?");
- alert.showAndWait().ifPresent(response -> {
- if (response == ButtonType.OK) {
- }
- });
- }
- public void openDetails(Label e)
- {
- if (detailsPane.getMinWidth() < 1) {
- //detailsInfoPane = new AnchorPane();
- //detailsPicPane.getChildren().clear();
- detailsPane.setMinWidth(300);
- detailsNameContent.setText(my_movie.name());
- detailsYearContent.setText(my_movie.year());
- detailsDurContent.setText(my_movie.duration());
- detailsGenreContent.setText(my_movie.genre());
- detailsDescContent.setText(my_movie.description());
- detailsPicPane.getChildren().clear();
- //detailsPane.setMaxWidth(300);
- //Label movie = e;
- ImageView detailsImage = new ImageView();
- ImageView image = new ImageView((my_movie.cover()));
- image.setFitHeight(222);
- image.setFitWidth(150);
- detailsImage = ((ImageView) image);
- detailsImage.setX((detailsPane.getWidth() - detailsImage.getFitWidth()) / 2 + 100);
- detailsImage.setY(0);
- //movie.
- detailsPicPane.getChildren().add(detailsImage);
- scrollPane.setMaxWidth(browserPane.getWidth()-26);
- scrollPane.setMaxHeight(browserPane.getHeight()-50);
- moviesGrid.setMaxWidth(browserPane.getWidth()-26);
- moviesGrid.setMaxHeight(browserPane.getHeight()-50);
- loadPosters();
- }
- else
- {
- detailsPicPane.getChildren().clear();
- detailsPane.setMinWidth(0);
- detailsPane.setPrefWidth(0);
- detailsPane.setMaxWidth(0);
- }
- }
- public void closeDetails()
- {
- detailsPicPane.getChildren().clear();
- detailsPane.setMinWidth(1);
- detailsPane.setPrefWidth(1);
- }
- public void openFilter()
- {
- if (filterPane.getWidth() < 1)
- {
- //filterPane.maxWidth(300);
- filterPane.setMinWidth(300);
- filterPane.setPrefWidth(300);
- filterPane.setMaxWidth(300);
- //loadPosters();
- }
- else
- {
- filterPane.setMinWidth(0);
- filterPane.setPrefWidth(0);
- filterPane.setMaxWidth(0);
- //loadPosters();
- }
- }
- }
|