title: Why Java JTextArea doesn't receive the entire pasted text?
body: <p>Using Netbeans 6.8 (Mac Version) drag and drop tool for making the GUI, I have designed a JTextArea which the user should paste his data which the program will modify and show it to him.</p>
  
  <p>It is working fine; however, when I tried to paste about 65 thousand lines of testing data in the JTextArea, the GUI showed only a few of these lines (like 50 or less)... for some reason it refused to paste the entire testing data which I copied from Notepad.</p>
  
  <p>I thought the JTextArea was full or something, but when I tried to type more text manually (after the pasting of the testing data), it was typing and showing in the textbox!</p>
  
  <p>Any idea what is going on?</p>
  
  <hr>
  
  <p><strong>Update 001</strong></p>
  
  <p>I'm getting  the following error </p>
  
  <pre><code>Java.lang.OutOfMemoryError: Java heap spaces
  </code></pre>
  
  <hr>
  
  <p><strong>Update 002</strong></p>
  
  <pre><code>package bossconverter;
  
  import org.jdesktop.application.Action;
  import org.jdesktop.application.ResourceMap;
  import org.jdesktop.application.SingleFrameApplication;
  import org.jdesktop.application.FrameView;
  import org.jdesktop.application.TaskMonitor;
  import java.awt.event.ActionEvent;
  import java.awt.event.ActionListener;
  import javax.swing.Timer;
  import javax.swing.Icon;
  import javax.swing.JDialog;
  import javax.swing.JFrame;
  
  /**
   * The application's main frame.
   */
  public class BOSSConverterView extends FrameView {
  
  public BOSSConverterView(SingleFrameApplication app) {
      super(app);
  
      initComponents();
  
      // status bar initialization - message timeout, idle icon and busy animation, etc
      ResourceMap resourceMap = getResourceMap();
      int messageTimeout = resourceMap.getInteger("StatusBar.messageTimeout");
      messageTimer = new Timer(messageTimeout, new ActionListener() {
          public void actionPerformed(ActionEvent e) {
              statusMessageLabel.setText("");
          }
      });
      messageTimer.setRepeats(false);
      int busyAnimationRate = resourceMap.getInteger("StatusBar.busyAnimationRate");
      for (int i = 0; i &lt; busyIcons.length; i++) {
          busyIcons[i] = resourceMap.getIcon("StatusBar.busyIcons[" + i + "]");
      }
      busyIconTimer = new Timer(busyAnimationRate, new ActionListener() {
          public void actionPerformed(ActionEvent e) {
              busyIconIndex = (busyIconIndex + 1) % busyIcons.length;
              statusAnimationLabel.setIcon(busyIcons[busyIconIndex]);
          }
      });
      idleIcon = resourceMap.getIcon("StatusBar.idleIcon");
      statusAnimationLabel.setIcon(idleIcon);
      progressBar.setVisible(false);
  
      // connecting action tasks to status bar via TaskMonitor
      TaskMonitor taskMonitor = new TaskMonitor(getApplication().getContext());
      taskMonitor.addPropertyChangeListener(new java.beans.PropertyChangeListener() {
          public void propertyChange(java.beans.PropertyChangeEvent evt) {
              String propertyName = evt.getPropertyName();
              if ("started".equals(propertyName)) {
                  if (!busyIconTimer.isRunning()) {
                      statusAnimationLabel.setIcon(busyIcons[0]);
                      busyIconIndex = 0;
                      busyIconTimer.start();
                  }
                  progressBar.setVisible(true);
                  progressBar.setIndeterminate(true);
              } else if ("done".equals(propertyName)) {
                  busyIconTimer.stop();
                  statusAnimationLabel.setIcon(idleIcon);
                  progressBar.setVisible(false);
                  progressBar.setValue(0);
              } else if ("message".equals(propertyName)) {
                  String text = (String)(evt.getNewValue());
                  statusMessageLabel.setText((text == null) ? "" : text);
                  messageTimer.restart();
              } else if ("progress".equals(propertyName)) {
                  int value = (Integer)(evt.getNewValue());
                  progressBar.setVisible(true);
                  progressBar.setIndeterminate(false);
                  progressBar.setValue(value);
              }
          }
      });
  }
  
  @Action
  public void showAboutBox() {
      if (aboutBox == null) {
          JFrame mainFrame = BOSSConverterApp.getApplication().getMainFrame();
          aboutBox = new BOSSConverterAboutBox(mainFrame);
          aboutBox.setLocationRelativeTo(mainFrame);
      }
      BOSSConverterApp.getApplication().show(aboutBox);
  }
  
  /** This method is called from within the constructor to
   * initialize the form.
   * WARNING: Do NOT modify this code. The content of this method is
   * always regenerated by the Form Editor.
   */
  @SuppressWarnings("unchecked")
  // &lt;editor-fold defaultstate="collapsed" desc="Generated Code"&gt;
  private void initComponents() {
  
      mainPanel = new javax.swing.JPanel();
      jScrollPane1 = new javax.swing.JScrollPane();
      jTextArea1 = new javax.swing.JTextArea();
      jScrollPane2 = new javax.swing.JScrollPane();
      jTextArea2 = new javax.swing.JTextArea();
      jButton1 = new javax.swing.JButton();
      menuBar = new javax.swing.JMenuBar();
      javax.swing.JMenu fileMenu = new javax.swing.JMenu();
      javax.swing.JMenuItem exitMenuItem = new javax.swing.JMenuItem();
      javax.swing.JMenu helpMenu = new javax.swing.JMenu();
      javax.swing.JMenuItem aboutMenuItem = new javax.swing.JMenuItem();
      statusPanel = new javax.swing.JPanel();
      javax.swing.JSeparator statusPanelSeparator = new javax.swing.JSeparator();
      statusMessageLabel = new javax.swing.JLabel();
      statusAnimationLabel = new javax.swing.JLabel();
      progressBar = new javax.swing.JProgressBar();
  
      mainPanel.setName("mainPanel"); // NOI18N
  
      jScrollPane1.setName("jScrollPane1"); // NOI18N
  
      jTextArea1.setColumns(20);
      jTextArea1.setRows(5);
      jTextArea1.setName("jTextArea1"); // NOI18N
      jScrollPane1.setViewportView(jTextArea1);
  
      jScrollPane2.setName("jScrollPane2"); // NOI18N
  
      jTextArea2.setColumns(20);
      jTextArea2.setRows(5);
      jTextArea2.setName("jTextArea2"); // NOI18N
      jScrollPane2.setViewportView(jTextArea2);
  
      org.jdesktop.application.ResourceMap resourceMap =
                  org.jdesktop.application.Application.getInstance
                    (bossconverter.BOSSConverterApp.class).getContext()
                    .getResourceMap(BOSSConverterView.class);
      jButton1.setText(resourceMap.getString("jButton1.text")); // NOI18N
      jButton1.setName("jButton1"); // NOI18N
      jButton1.addMouseListener(new java.awt.event.MouseAdapter() {
          public void mouseClicked(java.awt.event.MouseEvent evt) {
              tester(evt);
          }
      });
  
      org.jdesktop.layout.GroupLayout mainPanelLayout =
                   new org.jdesktop.layout.GroupLayout(mainPanel);
      mainPanel.setLayout(mainPanelLayout);
      mainPanelLayout.setHorizontalGroup(
          mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
          .add(mainPanelLayout.createSequentialGroup()
              .addContainerGap()
              .add(mainPanelLayout.createParallelGroup(org.jdesktop.layout
                                                       .GroupLayout.LEADING)
                  .add(jScrollPane1, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                       383, Short.MAX_VALUE)
                  .add(jScrollPane2, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                       383, Short.MAX_VALUE)
                  .add(org.jdesktop.layout.GroupLayout.TRAILING, jButton1))
              .addContainerGap())
      );
      mainPanelLayout.setVerticalGroup(
          mainPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
          .add(mainPanelLayout.createSequentialGroup()
              .addContainerGap()
              .add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                   98, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
              .add(18, 18, 18)
              .add(jScrollPane2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                   97, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
              .addPreferredGap(org.jdesktop.layout.LayoutStyle.UNRELATED)
              .add(jButton1)
              .addContainerGap(22, Short.MAX_VALUE))
      );
  
      menuBar.setName("menuBar"); // NOI18N
  
      fileMenu.setText(resourceMap.getString("fileMenu.text")); // NOI18N
      fileMenu.setName("fileMenu"); // NOI18N
  
      javax.swing.ActionMap actionMap = org.jdesktop.application.Application
                                        .getInstance(bossconverter.BOSSConverterApp
                                        .class).getContext().getActionMap
                                        (BOSSConverterView.class, this);
      exitMenuItem.setAction(actionMap.get("quit")); // NOI18N
      exitMenuItem.setName("exitMenuItem"); // NOI18N
      fileMenu.add(exitMenuItem);
  
      menuBar.add(fileMenu);
  
      helpMenu.setText(resourceMap.getString("helpMenu.text")); // NOI18N
      helpMenu.setName("helpMenu"); // NOI18N
  
      aboutMenuItem.setAction(actionMap.get("showAboutBox")); // NOI18N
      aboutMenuItem.setName("aboutMenuItem"); // NOI18N
      helpMenu.add(aboutMenuItem);
  
      menuBar.add(helpMenu);
  
      statusPanel.setName("statusPanel"); // NOI18N
  
      statusPanelSeparator.setName("statusPanelSeparator"); // NOI18N
  
      statusMessageLabel.setName("statusMessageLabel"); // NOI18N
  
      statusAnimationLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
      statusAnimationLabel.setName("statusAnimationLabel"); // NOI18N
  
      progressBar.setName("progressBar"); // NOI18N
  
      org.jdesktop.layout.GroupLayout statusPanelLayout = new org.jdesktop.layout
                                                          .GroupLayout(statusPanel);
      statusPanel.setLayout(statusPanelLayout);
      statusPanelLayout.setHorizontalGroup(
          statusPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout
                                                .LEADING)
          .add(statusPanelSeparator, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
               423, Short.MAX_VALUE)
          .add(statusPanelLayout.createSequentialGroup()
              .addContainerGap()
              .add(statusMessageLabel)
              .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 227,
                               Short.MAX_VALUE)
              .add(progressBar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                   org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                   org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
              .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED)
              .add(statusAnimationLabel)
              .addContainerGap())
      );
      statusPanelLayout.setVerticalGroup(
          statusPanelLayout.createParallelGroup(org.jdesktop.layout.GroupLayout
                                                .LEADING)
          .add(statusPanelLayout.createSequentialGroup()
              .add(statusPanelSeparator, org.jdesktop.layout.GroupLayout
                   .PREFERRED_SIZE, 2, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
              .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED,
                               org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                               Short.MAX_VALUE)
              .add(statusPanelLayout.createParallelGroup(org.jdesktop.layout
                                                         .GroupLayout.BASELINE)
                  .add(statusMessageLabel)
                  .add(statusAnimationLabel)
                  .add(progressBar, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE,
                       org.jdesktop.layout.GroupLayout.DEFAULT_SIZE,
                       org.jdesktop.layout.GroupLayout.PREFERRED_SIZE))
              .add(3, 3, 3))
      );
  
      setComponent(mainPanel);
      setMenuBar(menuBar);
      setStatusBar(statusPanel);
  }// &lt;/editor-fold&gt;
  
  private void tester(java.awt.event.MouseEvent evt) {
  
      Converter converter = new Converter();
      jTextArea2.setText(converter.fixParsedParagraph (jTextArea1.getText()) );
  }
  
  // Variables declaration - do not modify
  private javax.swing.JButton jButton1;
  private javax.swing.JScrollPane jScrollPane1;
  private javax.swing.JScrollPane jScrollPane2;
  private javax.swing.JTextArea jTextArea1;
  private javax.swing.JTextArea jTextArea2;
  private javax.swing.JPanel mainPanel;
  private javax.swing.JMenuBar menuBar;
  private javax.swing.JProgressBar progressBar;
  private javax.swing.JLabel statusAnimationLabel;
  private javax.swing.JLabel statusMessageLabel;
  private javax.swing.JPanel statusPanel;
  // End of variables declaration
  
  private final Timer messageTimer;
  private final Timer busyIconTimer;
  private final Icon idleIcon;
  private final Icon[] busyIcons = new Icon[15];
  private int busyIconIndex = 0;
  
  private JDialog aboutBox;
  }
  </code></pre>
  
  <p>This is the code which was generated automatically by netbeans for my GUI. </p>
  
  <p>So is there something that need to be fixed in it?</p>