private void addActionListeners() {
        importDataMenuItem.addActionListener(e -> firePropertyChange(MainWindowController.IMPORT, 0, 1));
        exportDataMenuItem.addActionListener(e -> firePropertyChange(MainWindowController.EXPORT, 0, 1));

        ItemListener itemListener = new ComboBoxItemListener();
        integrationMethodsComboBox.addItemListener(itemListener);
        angleComboBox.addItemListener(itemListener);

        drawButton.addActionListener(e ->
                MainWindowView.this.firePropertyChange(MainWindowController.DRAW_BUTTON_CLICK, 0, 1));
        resetButton.addActionListener(e ->
                MainWindowView.this.firePropertyChange(MainWindowController.RESET_BUTTON_CLICK, 0, 1));

        //Add focus listener and verifier to all text fields using reflection
        for (Field f : MainWindowView.this.getClass().getDeclaredFields()) {
            if (f.getName().contains("TextField")) {
                try {
                    ((JTextField) f.get(MainWindowView.this)).addFocusListener(new TextFieldFocusListener());

                    if (f.getName().contains("Points") || f.getName().contains("Spheres")) {
                        ((JTextField) f.get(MainWindowView.this)).setInputVerifier(intInputVerifier);
                    } else {
                        ((JTextField) f.get(MainWindowView.this)).setInputVerifier(doubleInputVerifier);
                    }
                } catch (IllegalAccessException ex) {
                    logger.error(ex);
                }
            }
        }
    }