title: Adding a ScrollPane is making my JTextArea disappear
body: <p>If I have the scrollbar, the JTextArea just vanishes. Without it, everything is fine. Can someone please explain this to me? And how to fix it!</p>
  
  <p>Also, as an aside, is it possible to change the color or set a border on the scrollpane?</p>
  
  <p>Here is the relevant code:</p>
  
  <pre><code>        //Text Container
      JPanel textCon = new JPanel();
      textCon.setOpaque(false);
      textCon.setLayout(new GridLayout(1,3));
      add(textCon);
  
      //Left Filler
      JPanel left = new JPanel();
      left.setOpaque(false);
      textCon.add(left);
  
      //Text area
      mainText = new JTextArea("SAMPLE");
      mainText.setOpaque(true);
      mainText.setSize(50,30);
      mainText.setLineWrap(true);
      mainText.setWrapStyleWord(true);
      textCon.add(mainText);
  
      //Set textAre fonts, colors, border/padding
      mainText.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createLineBorder(Color.GREEN), BorderFactory.createEmptyBorder(10, 10, 10, 10)));
      mainText.setFont(new Font("sansserif", Font.BOLD, 10));
      mainText.setForeground(Color.GREEN);
      mainText.setBackground(Color.BLACK);
  
      //Scroll Bar
      scroller = new JScrollPane(mainText);
      scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
      mainText.add(scroller);
  </code></pre>
  
  <p>And here is the rest of it, just in case!</p>
  
  <pre><code>import java.awt.*;
  import java.awt.event.*;
  import java.awt.Toolkit.*;
  import javax.swing.*;
  import java.io.*;
  import javax.swing.border.*;
  import java.util.*;
  
  class ProjectMain extends JFrame
  {
  //Declare String/Array for mainText
  String output = "";
  String [] hero;
  int page = 0;
  JTextArea mainText;
  JScrollPane scroller;
  
  public ProjectMain()
  {
      //Set Background
      setTitle("JLA Viewer");
      setSize(1920,1080);
      setLocationRelativeTo(null);
      setDefaultCloseOperation(EXIT_ON_CLOSE);
      setVisible(true);
      setContentPane(new JLabel(new ImageIcon("bg.png")));
      setLayout(new GridLayout(3,1));
  
      //Refresh Background
      setSize(1919,1079);
      setSize(1920,1080);
  
      //Label Container
      JPanel labelCon = new JPanel();
      labelCon.setOpaque(false);
      labelCon.setLayout(new BorderLayout());
      add(labelCon);
  
      //Top Label
      JLabel topLabel = new JLabel("JLA Profile Viewer");
      topLabel.setHorizontalAlignment(SwingConstants.CENTER);
      topLabel.setForeground(Color.GREEN);
      topLabel.setOpaque(false);
      topLabel.setFont(new Font("sansserif", Font.BOLD, 30));
      labelCon.add(BorderLayout.NORTH,topLabel);
  
      //Logo
      ImageIcon logo = new ImageIcon("logo.jpg");
      JLabel logoLabel = new JLabel();
      logoLabel.setHorizontalAlignment(SwingConstants.CENTER);
      logoLabel.setIcon(logo);
      labelCon.add(BorderLayout.SOUTH,logoLabel);
  
      //Text Container
      JPanel textCon = new JPanel();
      textCon.setOpaque(false);
      textCon.setLayout(new GridLayout(1,3));
      add(textCon);
  
      //Left Filler
      JPanel left = new JPanel();
      left.setOpaque(false);
      textCon.add(left);
  
      //Text area
      mainText = new JTextArea("SAMPLE");
      mainText.setOpaque(true);
      mainText.setSize(50,30);
      mainText.setLineWrap(true);
      mainText.setWrapStyleWord(true);
      textCon.add(mainText);
  
      //Set textAre fonts, colors, border/padding
      mainText.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createLineBorder(Color.GREEN), BorderFactory.createEmptyBorder(10, 10, 10, 10)));
      mainText.setFont(new Font("sansserif", Font.BOLD, 10));
      mainText.setForeground(Color.GREEN);
      mainText.setBackground(Color.BLACK);
  
      //Scroll Bar
      scroller = new JScrollPane(mainText);
      scroller.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
      mainText.add(scroller);
  
      //Right Filler
      JPanel right = new JPanel();
      right.setOpaque(false);
      textCon.add(right);
  
      //Button Container
      JPanel buttonContainer = new JPanel();
      buttonContainer.setOpaque(false);
      add(BorderLayout.SOUTH,buttonContainer);
  
      //PREV Button
      JButton prev = new JButton("PREV");
      prev.setOpaque(false);
      ActionListener PrevList = new PrevButton(); //Call Button Listener
      prev.addActionListener(PrevList);
      buttonContainer.add(prev);
  
      //EXIT Button
      JButton exit = new JButton("EXIT");
      exit.setOpaque(false);
      ActionListener ExitList = new ExitButton(); //Call Button Listener
      exit.addActionListener(ExitList);
      buttonContainer.add(exit);
  
      //NEXT Button
      JButton next = new JButton("NEXT");
      next.setOpaque(false);
      ActionListener NextList = new NextButton(); //Call Button Listener
      next.addActionListener(NextList);
      buttonContainer.add(next);
  
      //File Handling
      try
      {
          File inputFile = new File ("ProjectInputFile.txt");
          Scanner scanner = new Scanner(inputFile);
  
          while(scanner.hasNextLine())
          {
              output = output + (scanner.nextLine() + "\n");
          }
      }
      catch(IOException ioe)
      {
  
      }
  
      //Add split strings to array
      hero = output.split("@");
  }
  
  //Prev button event listener
  public class PrevButton implements ActionListener
  {
      public void actionPerformed(ActionEvent e)
      {
          page = page - 1;
          if(page &lt; 0)
          {
              page = hero.length;
          }
          mainText.setText(hero[page]);
      }
  }
  
  //Exit button event listener
  public class ExitButton implements ActionListener
  {
      public void actionPerformed(ActionEvent e)
      {
          setVisible(false);
          dispose();
          System.exit(0);
      }
  }
  
  //Next button event listener
  public class NextButton implements ActionListener
  {
      public void actionPerformed(ActionEvent e)
      {
          page++;
          if(page &gt; (hero.length))
          {
              page = 0;
          }
          mainText.setText(hero[page]);
      }
  }
  
  public static void main(String args[])
  {
      new ProjectMain();
  }
  </code></pre>
  
  <p>}</p>