• Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

How to force HorizontalPanel to wrap

 
Jerry Storm
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have the following:
VerticalPanel
HorizontalPanel
Widget, Widget ...

As I add children widgets to HorizontalPanel, it grows wider and finally adds a scroll bar since it becomes too wide.
I want it to start wrapping children once it reaches certain width, say 90% of the browser window.

How do I do it?
 
Maneesh Godbole
Saloon Keeper
Posts: 11021
12
Android Eclipse IDE Google Web Toolkit Java Mac Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
From the API docs of HorizontalPanel
A panel that lays all of its widgets out in a single horizontal column.
So wrapping is not possible.
If you want wrapping, check out FlowPanel
 
Jerry Storm
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I tried FlowPanel. It placed all child widgets vertically, not horizontally. I tries to set width to no avail.
 
Maneesh Godbole
Saloon Keeper
Posts: 11021
12
Android Eclipse IDE Google Web Toolkit Java Mac Ubuntu
 
Jerry Storm
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
My application generates widgets from external data.
I don't know in advance how many widgets will be in a row.
I want them placed in a row from left to right and then when reached the right edge of the window wrap into a new row.
 
Maneesh Godbole
Saloon Keeper
Posts: 11021
12
Android Eclipse IDE Google Web Toolkit Java Mac Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Did you check the example? It does exactly what you require.
 
Jerry Storm
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Sorry, I was confused. It seems to work. There are a couple of issues here:
- widgets spill over the bottom when a lot are added, I want to have a vertical scrollbar instead of this
- how do I set the width of the flowpanel to about 90% of the screen?
 
Maneesh Godbole
Saloon Keeper
Posts: 11021
12
Android Eclipse IDE Google Web Toolkit Java Mac Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Window#getClientWidth gives you the available width.
Based on this you can compute and use FlowPanel#setWidth()
Check out ScrollPanel. You can wrap your FlowPanel inside the ScrollPanel and then add the ScrollPanel to the parent container
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic