4 Replies Latest reply on Jun 3, 2014 12:07 PM by Gen.Java

    JScrollPane doesn't respond to client changes


      Hi all,

      When a JTextArea is created in a JScrollPane and the contents of the JTextArea change, the JScrollPane's preferred size doesn't change.

      In the following code, I create a JScrollPane and a JTextArea as a client. I then, add contents to the JTextArea and call revalidate() on it to let the JScrollPane re-update itself. However, it keeps reporting the same preferred size.



      import javax.swing.*;
      import java.awt.event.*;
      import java.awt.*;
      class c
      static JScrollPane sp;
      static JTextArea ta;
      public static void main (String...args)
      JFrame f;
      JButton b;
      b=new JButton("ok");
      b.addActionListener(new a());
      ta=new JTextArea("hello");
      sp=new JScrollPane(ta);
      sp.setPreferredSize(new Dimension(100,70));
      f=new JFrame();
      f.setLayout(new FlowLayout());
      static class a implements ActionListener
      public void actionPerformed(ActionEvent e)
      ta.append("this is a\nlarge piece\nof text\njust tomake\nthe height\nbigger");


      What am I doing wrong here?

      Thank you