@SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        searchPanel = new javax.swing.JPanel();
        searchLabel = new javax.swing.JLabel();
        searchField = new javax.swing.JTextField();
        hintLabel = new javax.swing.JLabel();
        searchTabbedPane = new javax.swing.JTabbedPane();
        peopleTab = new javax.swing.JPanel();
        peopleScroll = new javax.swing.JScrollPane();
        peopleTable = new javax.swing.JTable() {
            public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {
                Component c = super.prepareRenderer(renderer, row, column);
                JComponent jc = (JComponent) c;

                if (isRowSelected(row)) {
                    jc.setBorder(selectionBorder);
                }

                return c;
            }
        };
        moviesTab = new javax.swing.JPanel();
        movieScroll = new javax.swing.JScrollPane();
        movieTable = new javax.swing.JTable() {
            public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {
                Component c = super.prepareRenderer(renderer, row, column);
                JComponent jc = (JComponent) c;

                if (isRowSelected(row)) {
                    jc.setBorder(selectionBorder);
                }

                return c;
            }
        };
        personPanel = new javax.swing.JPanel();
        personLabel = new javax.swing.JLabel();
        personHomeButton = new javax.swing.JButton();
        personBackButton = new javax.swing.JButton();
        personInformationPanel = new javax.swing.JPanel();
        nameLabel = new javax.swing.JLabel();
        genderLabel = new javax.swing.JLabel();
        ageLabel = new javax.swing.JLabel();
        positionLabel = new javax.swing.JLabel();
        personNameLabel = new javax.swing.JLabel();
        personGenderLabel = new javax.swing.JLabel();
        personAgeLabel = new javax.swing.JLabel();
        personPositionLabel = new javax.swing.JLabel();
        moviesInvolvedPanel = new javax.swing.JPanel();
        moviesInvolvedScroll = new javax.swing.JScrollPane();
        moviesInvolvedTable = new javax.swing.JTable() {
            public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {
                Component c = super.prepareRenderer(renderer, row, column);
                JComponent jc = (JComponent) c;

                if (isRowSelected(row)) {
                    jc.setBorder(selectionBorder);
                }

                return c;
            }
        };
        moviePanel = new javax.swing.JPanel();
        movieLabel = new javax.swing.JLabel();
        movieHomeButton = new javax.swing.JButton();
        movieBackButton = new javax.swing.JButton();
        movieInformationPanel = new javax.swing.JPanel();
        titleLabel = new javax.swing.JLabel();
        movieTitleLabel = new javax.swing.JLabel();
        yearLabel = new javax.swing.JLabel();
        movieYearLabel = new javax.swing.JLabel();
        genreLabel = new javax.swing.JLabel();
        movieGenreLabel = new javax.swing.JLabel();
        ratingsLabel = new javax.swing.JLabel();
        movieRatingsLabel = new javax.swing.JLabel();
        movieCastAndCrewLabel = new javax.swing.JPanel();
        directorLabel = new javax.swing.JLabel();
        screenwriterLabel = new javax.swing.JLabel();
        leadActorLabel = new javax.swing.JLabel();
        supportingActorLabel = new javax.swing.JLabel();
        movieDirectorLabel = new javax.swing.JLabel();
        movieScreenwriterLabel = new javax.swing.JLabel();
        movieLeadActorLabel = new javax.swing.JLabel();
        movieSupportingActorLabel = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
        setTitle("FilmStudio");
        setResizable(false);
        getContentPane().setLayout(new java.awt.CardLayout());

        searchLabel.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        searchLabel.setText("Search");

        searchField.setFont(new java.awt.Font("Tahoma", 0, 12)); // NOI18N
        searchField.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                searchFieldActionPerformed(evt);
            }
        });

        hintLabel.setFont(new java.awt.Font("Tahoma", 1, 12)); // NOI18N
        hintLabel.setText("(leave empty for all)");

        peopleTable.setAutoCreateRowSorter(true);
        peopleTable.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
        peopleTable.setModel(personModel);
        peopleTable.getColumnModel().setColumnMargin(0);
        peopleTable.setFillsViewportHeight(true);
        peopleTable.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
        peopleTable.setShowHorizontalLines(false);
        peopleTable.setShowVerticalLines(false);
        peopleTable.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                peopleTableMousePressed(evt);
            }
        });
        peopleScroll.setViewportView(peopleTable);
        DefaultTableCellRenderer centerRendererPeople = new DefaultTableCellRenderer();
        centerRendererPeople.setHorizontalAlignment(JLabel.CENTER);

        for (int i = 0; i < 4; i++) {
            peopleTable.getColumnModel().getColumn(i).setCellRenderer(centerRendererPeople);
        }

        peopleTable.getColumnModel().getColumn(1).setPreferredWidth(0);
        peopleTable.getColumnModel().getColumn(3).setPreferredWidth(0);

        javax.swing.GroupLayout peopleTabLayout = new javax.swing.GroupLayout(peopleTab);
        peopleTab.setLayout(peopleTabLayout);
        peopleTabLayout.setHorizontalGroup(
            peopleTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(peopleTabLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(peopleScroll, javax.swing.GroupLayout.DEFAULT_SIZE, 385, Short.MAX_VALUE)
                .addContainerGap())
        );
        peopleTabLayout.setVerticalGroup(
            peopleTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(peopleTabLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(peopleScroll, javax.swing.GroupLayout.DEFAULT_SIZE, 308, Short.MAX_VALUE)
                .addContainerGap())
        );

        searchTabbedPane.addTab("People", peopleTab);

        movieTable.setAutoCreateRowSorter(true);
        movieTable.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
        movieTable.setModel(movieModel);
        movieTable.getColumnModel().setColumnMargin(0);
        movieTable.setFillsViewportHeight(true);
        movieTable.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
        movieTable.setShowHorizontalLines(false);
        movieTable.setShowVerticalLines(false);
        movieTable.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                movieTableMousePressed(evt);
            }
        });
        movieScroll.setViewportView(movieTable);
        DefaultTableCellRenderer centerRendererMovie = new DefaultTableCellRenderer();
        centerRendererMovie.setHorizontalAlignment(JLabel.CENTER);

        for (int i = 0; i < 4; i++) {
            movieTable.getColumnModel().getColumn(i).setCellRenderer(centerRendererMovie);
        }

        movieTable.getColumnModel().getColumn(1).setPreferredWidth(0);
        movieTable.getColumnModel().getColumn(3).setPreferredWidth(0);

        javax.swing.GroupLayout moviesTabLayout = new javax.swing.GroupLayout(moviesTab);
        moviesTab.setLayout(moviesTabLayout);
        moviesTabLayout.setHorizontalGroup(
            moviesTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(moviesTabLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(movieScroll, javax.swing.GroupLayout.DEFAULT_SIZE, 385, Short.MAX_VALUE)
                .addContainerGap())
        );
        moviesTabLayout.setVerticalGroup(
            moviesTabLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(moviesTabLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(movieScroll, javax.swing.GroupLayout.DEFAULT_SIZE, 308, Short.MAX_VALUE)
                .addContainerGap())
        );

        searchTabbedPane.addTab("Movies", moviesTab);

        javax.swing.GroupLayout searchPanelLayout = new javax.swing.GroupLayout(searchPanel);
        searchPanel.setLayout(searchPanelLayout);
        searchPanelLayout.setHorizontalGroup(
            searchPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(searchPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(searchPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(searchTabbedPane, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
                    .addGroup(searchPanelLayout.createSequentialGroup()
                        .addGap(11, 11, 11)
                        .addComponent(searchLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(searchField, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(hintLabel)
                        .addGap(0, 0, Short.MAX_VALUE)))
                .addContainerGap())
        );
        searchPanelLayout.setVerticalGroup(
            searchPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(searchPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(searchPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(hintLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(searchLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 21, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(searchField, javax.swing.GroupLayout.PREFERRED_SIZE, 20, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(searchTabbedPane)
                .addContainerGap())
        );

        getContentPane().add(searchPanel, "search");

        personLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N

        personHomeButton.setIcon(new ImageIcon("resources"+File.separator+"gui"+File.separator+"home.png"));
        personHomeButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        personHomeButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                personHomeButtonActionPerformed(evt);
            }
        });

        personBackButton.setText("Back");
        personBackButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        personBackButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                personBackButtonActionPerformed(evt);
            }
        });

        personInformationPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "General Information", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", 1, 12), new java.awt.Color(0, 0, 0))); // NOI18N

        nameLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
        nameLabel.setText("Name:");

        genderLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
        genderLabel.setText("Gender:");

        ageLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
        ageLabel.setText("Age:");

        positionLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
        positionLabel.setText("Position:");

        personNameLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N

        personGenderLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N

        personAgeLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N

        personPositionLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N

        javax.swing.GroupLayout personInformationPanelLayout = new javax.swing.GroupLayout(personInformationPanel);
        personInformationPanel.setLayout(personInformationPanelLayout);
        personInformationPanelLayout.setHorizontalGroup(
            personInformationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(personInformationPanelLayout.createSequentialGroup()
                .addGroup(personInformationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(personInformationPanelLayout.createSequentialGroup()
                        .addComponent(nameLabel)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(personNameLabel))
                    .addGroup(personInformationPanelLayout.createSequentialGroup()
                        .addComponent(genderLabel)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(personGenderLabel))
                    .addGroup(personInformationPanelLayout.createSequentialGroup()
                        .addComponent(ageLabel)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(personAgeLabel))
                    .addGroup(personInformationPanelLayout.createSequentialGroup()
                        .addComponent(positionLabel)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(personPositionLabel)))
                .addGap(0, 0, Short.MAX_VALUE))
        );
        personInformationPanelLayout.setVerticalGroup(
            personInformationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(personInformationPanelLayout.createSequentialGroup()
                .addGroup(personInformationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(nameLabel)
                    .addComponent(personNameLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(personInformationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(genderLabel)
                    .addComponent(personGenderLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(personInformationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(ageLabel)
                    .addComponent(personAgeLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(personInformationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(positionLabel)
                    .addComponent(personPositionLabel)))
        );

        moviesInvolvedPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Movies Involved", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", 1, 12), new java.awt.Color(0, 0, 0))); // NOI18N

        moviesInvolvedTable.setAutoCreateRowSorter(true);
        moviesInvolvedTable.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
        moviesInvolvedTable.setModel(moviesInvolvedModel);
        moviesInvolvedTable.getColumnModel().setColumnMargin(0);
        moviesInvolvedTable.setFillsViewportHeight(true);
        moviesInvolvedTable.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
        moviesInvolvedTable.setShowHorizontalLines(false);
        moviesInvolvedTable.setShowVerticalLines(false);
        moviesInvolvedTable.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mousePressed(java.awt.event.MouseEvent evt) {
                moviesInvolvedTableMousePressed(evt);
            }
        });
        moviesInvolvedScroll.setViewportView(moviesInvolvedTable);
        DefaultTableCellRenderer centerRendererMoviesInvolved = new DefaultTableCellRenderer();
        centerRendererMoviesInvolved.setHorizontalAlignment(JLabel.CENTER);

        for (int i = 0; i < 4; i++) {
            moviesInvolvedTable.getColumnModel().getColumn(i).setCellRenderer(centerRendererMoviesInvolved);
        }

        moviesInvolvedTable.getColumnModel().getColumn(1).setPreferredWidth(0);
        moviesInvolvedTable.getColumnModel().getColumn(3).setPreferredWidth(0);

        javax.swing.GroupLayout moviesInvolvedPanelLayout = new javax.swing.GroupLayout(moviesInvolvedPanel);
        moviesInvolvedPanel.setLayout(moviesInvolvedPanelLayout);
        moviesInvolvedPanelLayout.setHorizontalGroup(
            moviesInvolvedPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(moviesInvolvedScroll, javax.swing.GroupLayout.DEFAULT_SIZE, 398, Short.MAX_VALUE)
        );
        moviesInvolvedPanelLayout.setVerticalGroup(
            moviesInvolvedPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, moviesInvolvedPanelLayout.createSequentialGroup()
                .addGap(0, 11, Short.MAX_VALUE)
                .addComponent(moviesInvolvedScroll, javax.swing.GroupLayout.PREFERRED_SIZE, 172, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        javax.swing.GroupLayout personPanelLayout = new javax.swing.GroupLayout(personPanel);
        personPanel.setLayout(personPanelLayout);
        personPanelLayout.setHorizontalGroup(
            personPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(personPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(personPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(personInformationPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(personPanelLayout.createSequentialGroup()
                        .addGroup(personPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addGroup(personPanelLayout.createSequentialGroup()
                                .addComponent(personHomeButton, javax.swing.GroupLayout.PREFERRED_SIZE, 57, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addComponent(personBackButton, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(moviesInvolvedPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(personLabel))
                        .addGap(0, 0, Short.MAX_VALUE)))
                .addContainerGap())
        );
        personPanelLayout.setVerticalGroup(
            personPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(personPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(personPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(personBackButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(personHomeButton, javax.swing.GroupLayout.DEFAULT_SIZE, 40, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(personLabel)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(personInformationPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(moviesInvolvedPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        getContentPane().add(personPanel, "person");

        movieLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N

        movieHomeButton.setIcon(new ImageIcon("resources"+File.separator+"gui"+File.separator+"home.png"));
        movieHomeButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        movieHomeButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                movieHomeButtonActionPerformed(evt);
            }
        });

        movieBackButton.setText("Back");
        movieBackButton.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        movieBackButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                movieBackButtonActionPerformed(evt);
            }
        });

        movieInformationPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "General Information", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", 1, 12), new java.awt.Color(0, 0, 0))); // NOI18N

        titleLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
        titleLabel.setText("Title:");

        movieTitleLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N

        yearLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
        yearLabel.setText("Year:");

        movieYearLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
        movieYearLabel.setToolTipText("");

        genreLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
        genreLabel.setText("Genre:");

        movieGenreLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N

        ratingsLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
        ratingsLabel.setText("Rating:");

        movieRatingsLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N

        javax.swing.GroupLayout movieInformationPanelLayout = new javax.swing.GroupLayout(movieInformationPanel);
        movieInformationPanel.setLayout(movieInformationPanelLayout);
        movieInformationPanelLayout.setHorizontalGroup(
            movieInformationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(movieInformationPanelLayout.createSequentialGroup()
                .addGroup(movieInformationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(movieInformationPanelLayout.createSequentialGroup()
                        .addComponent(titleLabel)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(movieTitleLabel))
                    .addGroup(movieInformationPanelLayout.createSequentialGroup()
                        .addComponent(yearLabel)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(movieYearLabel))
                    .addGroup(movieInformationPanelLayout.createSequentialGroup()
                        .addComponent(genreLabel)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(movieGenreLabel))
                    .addGroup(movieInformationPanelLayout.createSequentialGroup()
                        .addComponent(ratingsLabel)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(movieRatingsLabel)))
                .addGap(0, 0, Short.MAX_VALUE))
        );
        movieInformationPanelLayout.setVerticalGroup(
            movieInformationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(movieInformationPanelLayout.createSequentialGroup()
                .addGroup(movieInformationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(titleLabel)
                    .addComponent(movieTitleLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(movieInformationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(yearLabel)
                    .addComponent(movieYearLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(movieInformationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(genreLabel)
                    .addComponent(movieGenreLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(movieInformationPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(ratingsLabel)
                    .addComponent(movieRatingsLabel))
                .addContainerGap())
        );

        movieCastAndCrewLabel.setBorder(javax.swing.BorderFactory.createTitledBorder(null, "Cast And Crew", javax.swing.border.TitledBorder.DEFAULT_JUSTIFICATION, javax.swing.border.TitledBorder.DEFAULT_POSITION, new java.awt.Font("Dialog", 1, 12), new java.awt.Color(0, 0, 0))); // NOI18N

        directorLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
        directorLabel.setText("Director:");

        screenwriterLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
        screenwriterLabel.setText("Screenwriter:");

        leadActorLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
        leadActorLabel.setText("Lead Actor:");

        supportingActorLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
        supportingActorLabel.setText("Supporting Actor:");

        movieDirectorLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
        movieDirectorLabel.setForeground(new java.awt.Color(0, 51, 102));
        movieDirectorLabel.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        movieDirectorLabel.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                movieDirectorLabelMouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                movieDirectorLabelMouseExited(evt);
            }
            public void mousePressed(java.awt.event.MouseEvent evt) {
                movieDirectorLabelMousePressed(evt);
            }
        });

        movieScreenwriterLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
        movieScreenwriterLabel.setForeground(new java.awt.Color(0, 51, 102));
        movieScreenwriterLabel.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        movieScreenwriterLabel.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                movieScreenwriterLabelMouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                movieScreenwriterLabelMouseExited(evt);
            }
            public void mousePressed(java.awt.event.MouseEvent evt) {
                movieScreenwriterLabelMousePressed(evt);
            }
        });

        movieLeadActorLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
        movieLeadActorLabel.setForeground(new java.awt.Color(0, 51, 102));
        movieLeadActorLabel.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        movieLeadActorLabel.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                movieLeadActorLabelMouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                movieLeadActorLabelMouseExited(evt);
            }
            public void mousePressed(java.awt.event.MouseEvent evt) {
                movieLeadActorLabelMousePressed(evt);
            }
        });

        movieSupportingActorLabel.setFont(new java.awt.Font("Dialog", 1, 12)); // NOI18N
        movieSupportingActorLabel.setForeground(new java.awt.Color(0, 51, 102));
        movieSupportingActorLabel.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        movieSupportingActorLabel.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                movieSupportingActorLabelMouseEntered(evt);
            }
            public void mouseExited(java.awt.event.MouseEvent evt) {
                movieSupportingActorLabelMouseExited(evt);
            }
            public void mousePressed(java.awt.event.MouseEvent evt) {
                movieSupportingActorLabelMousePressed(evt);
            }
        });

        javax.swing.GroupLayout movieCastAndCrewLabelLayout = new javax.swing.GroupLayout(movieCastAndCrewLabel);
        movieCastAndCrewLabel.setLayout(movieCastAndCrewLabelLayout);
        movieCastAndCrewLabelLayout.setHorizontalGroup(
            movieCastAndCrewLabelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(movieCastAndCrewLabelLayout.createSequentialGroup()
                .addGroup(movieCastAndCrewLabelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(movieCastAndCrewLabelLayout.createSequentialGroup()
                        .addComponent(directorLabel)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(movieDirectorLabel))
                    .addGroup(movieCastAndCrewLabelLayout.createSequentialGroup()
                        .addComponent(screenwriterLabel)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(movieScreenwriterLabel))
                    .addGroup(movieCastAndCrewLabelLayout.createSequentialGroup()
                        .addComponent(leadActorLabel)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(movieLeadActorLabel))
                    .addGroup(movieCastAndCrewLabelLayout.createSequentialGroup()
                        .addComponent(supportingActorLabel)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(movieSupportingActorLabel)))
                .addGap(0, 293, Short.MAX_VALUE))
        );
        movieCastAndCrewLabelLayout.setVerticalGroup(
            movieCastAndCrewLabelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(movieCastAndCrewLabelLayout.createSequentialGroup()
                .addGroup(movieCastAndCrewLabelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(directorLabel)
                    .addComponent(movieDirectorLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(movieCastAndCrewLabelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(screenwriterLabel)
                    .addComponent(movieScreenwriterLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(movieCastAndCrewLabelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(leadActorLabel)
                    .addComponent(movieLeadActorLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(movieCastAndCrewLabelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(supportingActorLabel)
                    .addComponent(movieSupportingActorLabel))
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout moviePanelLayout = new javax.swing.GroupLayout(moviePanel);
        moviePanel.setLayout(moviePanelLayout);
        moviePanelLayout.setHorizontalGroup(
            moviePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(moviePanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(moviePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(movieCastAndCrewLabel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(moviePanelLayout.createSequentialGroup()
                        .addComponent(movieHomeButton, javax.swing.GroupLayout.PREFERRED_SIZE, 57, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(movieBackButton, javax.swing.GroupLayout.PREFERRED_SIZE, 67, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addComponent(movieInformationPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(movieLabel))
                .addContainerGap())
        );
        moviePanelLayout.setVerticalGroup(
            moviePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(moviePanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(moviePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addComponent(movieHomeButton, javax.swing.GroupLayout.PREFERRED_SIZE, 34, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(movieBackButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(movieLabel)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(movieInformationPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(movieCastAndCrewLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 116, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(110, Short.MAX_VALUE))
        );

        getContentPane().add(moviePanel, "movie");

        pack();
    }// </editor-fold>//GEN-END:initComponents