Hi David, thank you for your answer! I will try it and I will give you my feedback :-)
In my case the width is not a problem; my concern is about the height (the number of displayed rows)... best regards, CA On Feb 18, 1:11 pm, David Goodenough <david.goodeno...@btconnect.com> wrote: > On Friday 18 February 2011, Carlo Alberto Degli Atti wrote:> Hi, > > > I've looked around but I haven't found any solution, so I post it > > here: > > > how can I make a TextArea that expands its height depending on the > > text inside? > > > Thanks > > > CA > > Its good to find someone else who wants this. I first came across > fields like this with Lotus Notes, which has had these for years. They > are really useful, but very few other systems seem to have them and > to be honest it is one of the things that puts me off browsers - but that > is another story. > > I wrote some code which did this while ago, but I do not know if > it still works on a current GWT, and I am absolutely sure it can be > done better. > > import com.google.gwt.user.client.Element; > import com.google.gwt.user.client.Event; > import com.google.gwt.user.client.ui.TextArea; > > public class ExpandingTextArea extends TextArea { > public void onBrowserEvent( Event event) { > super.onBrowserEvent( event); > if (getOffsetHeight( ) <= getScrollHeight( getElement( ))) > > setHeight( ( getScrollHeight( getElement( )) + > 6)+"px"); > } > private native int getScrollHeight( Element e) /*-{ > return e.scrollHeight; > }-*/; > public void rightSize( ) { > Element el = getElement( ); > int h = getScrollHeight( el); > setHeight( ( h + 6) + "px"); > } > }; > > The fact that it has a magic number in it (6) is just plain wrong, and > I can not for the life of me remember why that number is there. > > rightSize needs to be called when laying out a form, just to get started. > Again this can be done better. It is also possible that somewhere > along the line the need for getScrollHeight has gone, but I have not > been following the API closely enough to see. > > To get the full Notes function, one would also need to set the width of > the area. This only sets the height. But that is for another day. > > Hope someone can turn this into something that works properly. > > David -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to google-web-toolkit@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.