protected void generate() {
        String year = this.yearField.getText();
        String title = this.titleField.getText();

        ArrayList<String> authors = new ArrayList<String>();
        for (JTextField textField : this.authorsField) {
            authors.add(textField.getText());
        }

        ArrayList<String> categories = new ArrayList<String>();
        for (JComboBox comboBox : this.categoriesField) {
            categories.add((String) comboBox.getSelectedItem());
        }

        String shortDescription = this.shortDescriptionField.getText();
        String dpublic = (String) this.publicField.getSelectedItem();
        String age = this.ageField.getText();
        
        ArrayList<String> notes = new ArrayList<String>();
        for (JTextField textField : this.notesField) {
            notes.add(textField.getText());
        }

        String gamePlay = this.gameplayField.getText();
        String gameRules = this.gameRulesField.getText();

        this.controller.generate(year, title, authors, categories,
                shortDescription, dpublic, age, notes, gamePlay, gameRules);

    }