title: Way to save jList data into a txt file?
body: <p>I am looking for a way to save the users input from a jlist into a txt file. It's for a homework project. I have the program set up to take user input from a textfield, then it goes into the jlist once they hit the add button. The jlist has a defaultlistmodel on it, and I'm wondering if there is a way to create a save button and allow it to save the complete jlist into a .txt file.</p>
  
  <p>Also, here is my code:</p>
  
  <pre><code>import java.awt.BorderLayout;
  import java.awt.EventQueue;
  
  import javax.swing.JFrame;
  import javax.swing.JPanel;
  import javax.swing.border.EmptyBorder;
  import javax.swing.DefaultListModel;
  import javax.swing.JOptionPane;
  import javax.swing.JTextField;
  import javax.swing.JButton;
  import javax.swing.JList;
  import javax.swing.border.LineBorder;
  
  import java.awt.Color;
  import java.awt.event.ActionEvent;
  import java.awt.event.ActionListener;
  import java.util.ArrayList;
  
  import javax.swing.JComboBox;
  import javax.swing.JProgressBar;
  import javax.swing.JLabel;
  
  
  public class i extends JFrame {
  
  private JPanel contentPane;
  private JTextField jTextField;
  DefaultListModel ListModel = new DefaultListModel();
  ArrayList&lt;String&gt; arr = new ArrayList &lt;String&gt;();
  String str;
  /**
   * Launch the application.
   */
  public static void main(String[] args) {
      EventQueue.invokeLater(new Runnable() {
          public void run() {
              try {
                  i frame = new i();
                  frame.setVisible(true);
              } catch (Exception e) {
                  e.printStackTrace();
              }
          }
      });
  }
  
  /**
   * Create the frame.
   */
  public i() {
      super("List");
  
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setBounds(100, 100, 450, 300);
      contentPane = new JPanel();
      contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
      setContentPane(contentPane);
      contentPane.setLayout(null);
  
      jTextField = new JTextField();
      jTextField.setBounds(15, 80, 168, 20);
      contentPane.add(jTextField);
      jTextField.setColumns(10);
  
      final JList jList = new JList(ListModel);
      jList.setBorder(new LineBorder(new Color(0, 0, 0)));
      jList.setBounds(289, 54, 135, 197);
      contentPane.add(jList);
  
  
      JButton jButton = new JButton("Add");
      jButton.setBounds(190, 79, 89, 23);
      contentPane.add(jButton);
      jButton.addActionListener(new ActionListener(){
          public void actionPerformed(ActionEvent e) {
              String str=jTextField.getText();
              ListModel.addElement(str);
              jTextField.setText("");
              arr.add(str);
              System.out.println(arr);
          }
      });
  
  
  
      JButton delete = new JButton("DELETE");
      delete.setBounds(190, 162, 89, 23);
      contentPane.add(delete);
      delete.addActionListener(new ActionListener(){
          public void actionPerformed(ActionEvent k){
              ListModel.removeElement(jList.getSelectedValue());
  
          }
      });
  
      JButton btnUp = new JButton("UP");
      btnUp.setBounds(190, 125, 89, 23);
      contentPane.add(btnUp);
      btnUp.addActionListener(new ActionListener(){
          public void actionPerformed(ActionEvent e){
              int index = jList.getSelectedIndex();
              if(index == -1){
                  JOptionPane.showMessageDialog(null, "Select something to move.");
              } else if(index &gt; 0) {
                  String temp = (String)ListModel.remove(index);
                  ListModel.add(index - 1, temp);
                  jList.setSelectedIndex(index -1);
              }
          }
      });
  
      JButton btnDown = new JButton("DOWN");
      btnDown.setBounds(190, 196, 89, 23);
      contentPane.add(btnDown);
      btnDown.addActionListener( new ActionListener(){ 
          public void actionPerformed( ActionEvent e ){ 
              int index = jList.getSelectedIndex(); 
              if( index == -1 ) 
                  JOptionPane.showMessageDialog(null, "Select something to move."); 
              else if( index &lt; ListModel.size() - 1 ){ 
                  String temp = (String)ListModel.remove( index ); 
                  ListModel.add( index + 1, temp ); 
                  jList.setSelectedIndex( index + 1 ); 
              } 
          } 
      }); 
  
      JLabel lblItems = new JLabel("Items:");
      lblItems.setBounds(290, 37, 46, 14);
      contentPane.add(lblItems);
  
      JButton btnPrint = new JButton("PRINT");
      btnPrint.setBounds(190, 228, 89, 23);
      contentPane.add(btnPrint);
      btnPrint.addActionListener(new ActionListener(){
          public void actionPerformed(ActionEvent e){
  
          }
      });
  }
  }
  </code></pre>