private JButton createCopyToClipboardButton() {
   JButton button = new JButton("COPY TO CLIPBOARD");
   button.setBackground(Color.BLACK);
   button.setForeground(Color.GRAY);
   button.addActionListener(
       new ActionListener() {
         @Override
         public void actionPerformed(ActionEvent e) {
           try {
             copyOverviewToClipboard();
           } catch (InsufficientDataException ex) {
             ex.printStackTrace();
             JOptionPane.showMessageDialog(
                 ReviewDialog.this,
                 "Failed to copy the overview to clipboard: " + ex.getMessage());
           }
         }
       });
   return button;
 }
 /**
  * The function creates a button, which opens a file chooser and writes a summary of the displayed
  * results into a user-selected file.
  *
  * @return The 'save to file' button.
  */
 private JButton createSaveToFileButton() {
   JButton b = new JButton("SAVE TO FILE");
   b.setBackground(Color.BLACK);
   b.setForeground(Color.GRAY);
   b.addActionListener(
       new ActionListener() {
         @Override
         public void actionPerformed(ActionEvent e) {
           try {
             checkTotal();
             fileChooser.setSelectedFile(new File(getDefaultFilename()));
             int returnValue = fileChooser.showDialog(ReviewDialog.this, "Save");
             if (returnValue != JFileChooser.APPROVE_OPTION) return;
             writeToFile(fileChooser.getSelectedFile());
             ReviewDialog.this.setVisible(false);
           } catch (Exception ex) {
             JOptionPane.showMessageDialog(
                 ReviewDialog.this, ex.getMessage(), "Error occurred", JOptionPane.ERROR_MESSAGE);
           }
         }
       });
   return b;
 }