title: Add a scrollbar to JFrame
body: <p>I'm having some problem finding a way to add a scrollbar in a <code>JFrame</code>. I found a method to redirect <code>System.{in,out,err}</code> to a <code>JTextArea</code> but I was not successful in adding a scrollbar. I hope this question is not redundant.</p>
  
  <pre><code>public class console extends JTextArea {    
  
   public static JTextArea console(final InputStream out, final PrintWriter in) {
      final JTextArea area = new JTextArea();
          new SwingWorker&lt;Void, String&gt;() {
          @Override protected Void doInBackground() throws Exception {
              Scanner s = new Scanner(out);
              while (s.hasNextLine()) publish(s.nextLine() + "\n");
              return null;
          }
          @Override protected void process(List&lt;String&gt; chunks) {
              for (String line : chunks) area.append(line);
          }
      }.execute();
      area.addKeyListener(new KeyAdapter() {
          private StringBuffer line = new StringBuffer();
          public void keyTyped(KeyEvent e) {
              char c = e.getKeyChar();
              if (c == KeyEvent.VK_ENTER) {
                  in.println(line);
                  line.setLength(0); 
              } else if (c == KeyEvent.VK_BACK_SPACE) { 
                  line.setLength(line.length() - 1); 
              } else if (!Character.isISOControl(c)) {
                  line.append(e.getKeyChar());
              }
          }
      });
  
      return area;
  }
  public static void main(String[] args) throws IOException {
      PipedInputStream inPipe = new PipedInputStream();
      PipedInputStream outPipe = new PipedInputStream();
      System.setIn(inPipe);
      System.setOut(new PrintStream(new PipedOutputStream(outPipe), true));
  
      PrintWriter inWriter = new PrintWriter(new PipedOutputStream(inPipe), true);
  
      JFrame frame = new JFrame("\"Console\"");
  
      frame.getContentPane().add(console(outPipe, inWriter));
      frame.setSize(500, 500);
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setVisible(true);
  
     // my code
    }
  </code></pre>