private void createDisplayWindow(boolean displayOpenButton){
        this.setLayout(new BorderLayout());

        // Add the Audio and Spectrogram panel - Only for the microphone data
        if(microphoneAudio != null){
            try{
                if(displayVisualAudio){
                    // Display the audio energy in a panel
                    createVisualAudioPanel(new AudioData(microphoneAudio));
                    audioWaveScrollPanel.setVisible(false);
                    // Event listeners
                    audioWaveCheckBox.addItemListener(new ItemListener() {
                        @Override
                        public void itemStateChanged(ItemEvent e) {
                            int state = e.getStateChange();
                            // Enable - Save audio file
                            if (state == 1) {
                                audioWaveAndCheckBoxPanel.setSize(getSize());
                                audioWaveScrollPanel.setVisible(true);
                            }
                            // Disable - Do not save audio file
                            if (state == 2) {
                                audioWaveScrollPanel.setVisible(false);
                            }
                            // TODO: Find out how to fix the window size
                            pack();
                            repaint();
                        }
                    });
                    // Add visual audio panel
                    audioWaveAndCheckBoxPanel.add(audioWaveCheckBox, BorderLayout.NORTH);
                    audioWaveAndCheckBoxPanel.add(audioWaveScrollPanel, BorderLayout.CENTER);
                    this.add(audioWaveAndCheckBoxPanel, BorderLayout.NORTH);
                }
            }catch (IOException ioe){
                ioe.printStackTrace();
            }
        }

        JPanel audioPlayerPanel = new JPanel(new GridBagLayout());
        GridBagConstraints constraints = new GridBagConstraints();
        constraints.insets = new Insets(5, 5, 5, 5);
        constraints.anchor = GridBagConstraints.WEST;

        buttonOpen.setFont(new Font("Sans", Font.BOLD, 14));
        buttonOpen.setIcon(iconOpen);

        buttonPlay.setFont(new Font("Sans", Font.BOLD, 14));
        buttonPlay.setIcon(iconPlay);
        buttonPlay.setEnabled(false);

        buttonPause.setFont(new Font("Sans", Font.BOLD, 14));
        buttonPause.setIcon(iconPause);
        buttonPause.setEnabled(false);

        labelTimeCounter.setFont(new Font("Sans", Font.BOLD, 12));
        labelDuration.setFont(new Font("Sans", Font.BOLD, 12));

        sliderTime.setPreferredSize(new Dimension(400, 20));
        sliderTime.setEnabled(false);
        sliderTime.setValue(0);

        constraints.gridx = 0;
        constraints.gridy = 0;
        constraints.gridwidth = 3;
        audioPlayerPanel.add(labelFileName, constraints);

        constraints.anchor = GridBagConstraints.CENTER;
        constraints.gridy = 1;
        constraints.gridwidth = 1;
        audioPlayerPanel.add(labelTimeCounter, constraints);

        constraints.gridx = 1;
        audioPlayerPanel.add(sliderTime, constraints);

        constraints.gridx = 2;
        audioPlayerPanel.add(labelDuration, constraints);

        // Add the buttons panel
        JPanel panelButtons = new JPanel(new FlowLayout(FlowLayout.CENTER, 20, 5));

        constraints.gridwidth = 3;
        constraints.gridx = 0;
        constraints.gridy = 2;

        panelButtons.add(buttonPlay);
        panelButtons.add(buttonPause);
        // Add action listener to the buttons
        buttonPlay.addActionListener(this);
        buttonPause.addActionListener(this);

        // Display the Open button
        if(displayOpenButton){
            panelButtons.add(buttonOpen);
            buttonOpen.addActionListener(this);
        }

        audioPlayerPanel.add(panelButtons, constraints);

        // Microphone data will be played
        if(!displayOpenButton){
            // Display the message whether there's data to be played or not
            labelFileName.setText("Playing File: " + audioFilePath);
            // Audio stream available
            if(microphoneAudio != null){
                buttonPlay.setEnabled(true);
                buttonPause.setEnabled(false);
            }
        }
        // Add Audio Player Panel to the main window
        this.add(audioPlayerPanel, BorderLayout.CENTER);
    }