¿Cómo agregar un archivo .txt a un JTextArea y dónde colocar mi archivo .txt?

¿Estoy trabajando en mi primer programa GUI y casi termino la última clase es un jFrame que tiene un archivo .txt y un botón para cerrar la ventana y no sé cómo agregar mi archivo a la ventana? paquete eg.edu.guc.santorini.gui;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

public class Rules extends JFrame implements ActionListener, MouseListener{
JPanel Rules;
JTextArea  rules;
public Rules() throws IOException
{
    super();
    setTitle("Rules Of Santorini Board Game");
    setSize(1000, 700);
    setLocation(200, 100);
    Container content = getContentPane();
    content.setBackground(new Color(220,20,60));
    content.setLayout(new BorderLayout());
    setVisible(true);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setLocationRelativeTo(null);
    WindowDestroyer wd = new WindowDestroyer();
    addWindowListener(wd);

    JTextArea  rules=new JTextArea();
    rules.append("");


    JTextArea textArea = new JTextArea();
    JScrollPane scrollPane = new JScrollPane(textArea);

    StringBuilder builder = new StringBuilder();

    // read a text file from resources folder that is parallel to src folder
    BufferedReader reader = new BufferedReader(new FileReader(new               File("resources/New Text Document.txt")));
    String line = null;
    while ((line = reader.readLine()) != null) {
        // read the file line by line
        builder.append(line).append(System.lineSeparator());
    }
    reader.close();

    // set the content of file in text area
    textArea.setText(builder.toString());

       /* FileReader fileReader = new FileReader("New Text Document.txt");
BufferedReader bufferedReader = new BufferedReader(fileReader);

String inputFile = "";
String textFieldReadable = bufferedReader.readLine();

while (textFieldReadable != null){
    inputFile += textFieldReadable;
    textFieldReadable = bufferedReader.readLine();                    
    rules.setText(inputFile);*/



    Rules=new JPanel();
    Rules.setLayout(null);
    this.setDefaultCloseOperation(EXIT_ON_CLOSE);
    Rules.setVisible(true);
    Rules.setBackground(Color.ORANGE);
    add(Rules, BorderLayout.CENTER);
    Rules.setSize(1000, 700);
    this.getContentPane().add(Rules);


    JButton ok=new JButton("Got It");
    ok.setSize(100, 50);
    ok.setLocation(800, 570);
    ok.addMouseListener(this);
    Rules.add(ok);

    ok.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e)
        {
            //dispose();
            setVisible(false);

        }
  });

    //JFrame f = new JFrame();
    //f.setSize(320, 200);
    //f.getContentPane().add(rules);
    //f.setVisible(true);



}




@Override
public void mouseClicked(MouseEvent arg0) {
    // TODO Auto-generated method stub

}

@Override
public void mouseEntered(MouseEvent arg0) {
    // TODO Auto-generated method stub

}

@Override
public void mouseExited(MouseEvent arg0) {
    // TODO Auto-generated method stub

}

@Override
public void mousePressed(MouseEvent arg0) {
    // TODO Auto-generated method stub

}

@Override
public void mouseReleased(MouseEvent arg0) {
    // TODO Auto-generated method stub

}

@Override
public void actionPerformed(ActionEvent e) {
    // TODO Auto-generated method stub

}

}

Respuestas a la pregunta(2)

Su respuesta a la pregunta