title: Java Swing JFileChooser append files to a JTextArea
body: <p>I have a browse button which opens a dialog where the user can view directories and files. I am having some trouble appending the files the user selects to a JTextArea. I am trying to do this so the user can select multiple files at a time. The files eventually will be submitted to an Oracle database. </p>
  
  <p>The code I have used for the filechooser is here: </p>
  
  <pre><code>final JFileChooser fc = new JFileChooser();
          JList list = new JList();
          fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
          if (JFileChooser.APPROVE_OPTION == fc.showOpenDialog(list)) {
          File file = fc.getSelectedFile();
  </code></pre>
  
  <p>Can you please show me how to append the files to a JTextArea?</p>
  
  <p>Thanks.</p>
  
  <p>Edit: </p>
  
  <p>I have added the following: </p>
  
  <pre><code>JButton btnBrowse = new JButton("Browse");
          btnBrowse.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent arg0) {
  
                  final JFileChooser fc = new JFileChooser();
                  fc.setMultiSelectionEnabled(true);
                  JList list = new JList();
                  fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
                  if (JFileChooser.APPROVE_OPTION == fc.showOpenDialog(list)) {
                       File file = fc.getSelectedFile();
                  }   
                  for (File file : fc.getSelectedFiles()) {
                         log.append(file.getPath());
                      }
              }
          });
  </code></pre>
  
  <p>But when selecting browse and choosing multiple files and then selecting open the files are not being displayed within the text area. </p>
  
  <p>Full Code: </p>
  
  <pre><code>package com.example.android.apis.appwidget;
  
  import java.awt.BorderLayout;
  import java.awt.EventQueue;
  import javax.swing.JFrame;
  import javax.swing.JPanel;
  import javax.swing.border.EmptyBorder;
  import javax.swing.JLabel;
  import javax.swing.SwingConstants;
  import java.awt.Font;
  import javax.swing.JFileChooser;
  import javax.swing.JList;
  import javax.swing.JTextArea;
  import javax.swing.JButton;
  import javax.swing.JComboBox;
  import javax.swing.JCheckBox;
  import java.awt.event.ActionListener;
  import java.awt.event.ActionEvent;
  import java.io.File;
  import java.awt.Color;
  import javax.swing.UIManager;
  
  public class VFSTool extends JFrame {
  
      private JPanel contentPane;
        static private final String newline = "\n";
          JButton openButton, saveButton;
          JTextArea log;
          JFileChooser fc;
  
      /**
       * Launch the application.
       */
      public static void main(String[] args) {
          EventQueue.invokeLater(new Runnable() {
              public void run() {
                  try {
                      VFSTool frame = new VFSTool();
                      frame.setVisible(true);
                  } catch (Exception e) {
                      e.printStackTrace();
                  }
              }
          });
      }
  
      /**
       * Create the frame.
       */
      public Tool() {
          setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
          setBounds(100, 100, 499, 423);
          contentPane = new JPanel();
          contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
          contentPane.setLayout(new BorderLayout(0, 0));
          setContentPane(contentPane);
  
          JLabel lblVfsLoaderTool = new JLabel("Tool");
          lblVfsLoaderTool.setBackground(new Color(255, 255, 153));
          lblVfsLoaderTool.setForeground(UIManager.getColor("Button.darkShadow"));
          lblVfsLoaderTool.setFont(new Font("Copperplate Gothic Light", Font.BOLD, 25));
          lblVfsLoaderTool.setHorizontalAlignment(SwingConstants.CENTER);
          contentPane.add(lblVfsLoaderTool, BorderLayout.NORTH);
  
          JPanel panel = new JPanel();
          panel.setBackground(UIManager.getColor("Button.darkShadow"));
          contentPane.add(panel, BorderLayout.CENTER);
          panel.setLayout(null);
  
          JButton btnBrowse = new JButton("Browse");
          btnBrowse.addActionListener(new ActionListener() {
              public void actionPerformed(ActionEvent arg0) {
  
                  final JFileChooser fc = new JFileChooser();
                  fc.setMultiSelectionEnabled(true);
                  JList list = new JList();
                  fc.setFileSelectionMode(JFileChooser.FILES_AND_DIRECTORIES);
                  if (JFileChooser.APPROVE_OPTION == fc.showOpenDialog(list)) {
                       File file = fc.getSelectedFile();
                  }   
                  for (File file : fc.getSelectedFiles()) {
                      log.append(file.getPath() + System.getProperty("line.separator"));
                      }
              }
          });
          btnBrowse.setBounds(107, 185, 97, 25);
          panel.add(btnBrowse);
  
          JLabel lblCategory = new JLabel("label1");
          lblCategory.setForeground(UIManager.getColor("Button.background"));
          lblCategory.setBounds(12, 13, 82, 25);
          panel.add(lblCategory);
  
          JComboBox comboBox = new JComboBox();
          comboBox.setForeground(UIManager.getColor("Button.background"));
          comboBox.setBounds(91, 13, 113, 24);
          panel.add(comboBox);
  
          JLabel lblNewLabel = new JLabel("label2");
          lblNewLabel.setForeground(UIManager.getColor("Button.background"));
          lblNewLabel.setBounds(12, 50, 77, 25);
          panel.add(lblNewLabel);
  
          JComboBox comboBox_1 = new JComboBox();
          comboBox_1.setBounds(91, 50, 113, 25);
          panel.add(comboBox_1);
  
          JLabel lblLanguage = new JLabel("label3");
          lblLanguage.setForeground(UIManager.getColor("Button.background"));
          lblLanguage.setBounds(12, 114, 56, 16);
          panel.add(lblLanguage);
  
          JComboBox comboBox_2 = new JComboBox();
          comboBox_2.setBounds(91, 110, 113, 25);
          panel.add(comboBox_2);
  
          JCheckBox chckbxIncludeExt = new JCheckBox("include");
          chckbxIncludeExt.setForeground(UIManager.getColor("Button.background"));
          chckbxIncludeExt.setBackground(UIManager.getColor("Button.darkShadow"));
          chckbxIncludeExt.setBounds(12, 219, 113, 25);
          panel.add(chckbxIncludeExt);
  
          JButton btnSubmit = new JButton("Submit");
          btnSubmit.setBounds(107, 264, 97, 25);
          panel.add(btnSubmit);
  
          JTextArea textArea = new JTextArea();
          textArea.setBounds(240, 14, 219, 220);
          panel.add(textArea);
      }
  }
  </code></pre>