private MouseAdapter createWaveButtonListener () {
        MouseAdapter listener = new MouseAdapter() {
            @Override
            public void mouseClicked (MouseEvent e) {
                String type = (String) myEnemiesDropdown.getSelectedItem();
                int number = Integer.parseInt(myNumberField.getText());
                double period = Double.parseDouble(myPeriodField.getText());
                int interval = Integer.parseInt(myIntervalField.getText());
                if (!type.equals(DEFAULT_TYPE_TEXT) && type != null && number > 0 && interval > 0 &&
                    period > 0) {
                    WaveJSONObject wave = new WaveJSONObject(type, number, period, interval);
                    setChanged();
                    notifyObservers(wave);
                    clearChanged();
                    addWave(type, number);
                    myNumberField.setText(StyleConstants.NULL_STRING);
                    myPeriodField.setText(StyleConstants.NULL_STRING);
                    myIntervalField.setText(StyleConstants.NULL_STRING);
                }
                else {
                    JOptionPane.showMessageDialog(null,
                                                  StyleConstants.resourceBundle
                                                          .getString("WaveInvalidSubmission"));
                }
            }
        };
        return listener;
    }