Allow user to resize, close Panel?

Hi, I’m currently evaluating Vaadin for use within a project and overall I like the clean, simple approach I’ve been finding. I do have a few questions which I’m hoping the community can help me with.

I’m stuck trying to find a component that supports the following behaviors:

Can be added (addComponent) and aligned (setComponentAlignment) within a Vaadin layout (like a Panel)

Can be closed by a user (like the X in the top right corner of a Window)

Can be resized by a user (like dragging on the corner of a Window)

Here is what I have found through experimentation:

Panel can be added and aligned within layouts. But Panel can not be resized by the user. Nor does it provide a simple close mechanism for the user.

Window can be resized and closed by a user. But Window can not be added to layouts but rather can only be placed at absolute coordinates or centered in the main application Window.

I guess my biggest concern today is the seeming lack of a user resizable component that can participate within the layouts of my application: Window seems to float outside of application layouts and Panel seems not to support being resized or closed.

I’m simply not sure if Vaadin has what I need but I’m hoping it does so any feedback from the forum would be much appreciated.


Hate to disappoint, but there’s no such built-in widget that would allow resizing and closing that would be placed into layouts.

Creating a such component/widget might not be too hard, might even go by extending some current component. What are your exact requirements? Does the component need to contain other arbitrary components (i.e. do you need to but a layout inside it)?

Yes, this XPanel component would contain arbitrary components. The XPanels’ vertical scrollbar could be active, it’s horizontal scrollbar would be disabled.

The layout inside the XPanel should make full use of the available width/height. If the user resized the XPanel (for example, by dragging the corner to make it wider) then the inner content within the layout would grow to use up the additional space.

But given such a resizable component does not exist for use within Vaadin layouts I might have to go back to the drawing board to consider alternate layouts (perhaps drop layout altogether and just use sub-Windows) for the application. That might give me the result I want while working with the framework as it is designed to be used.

Thanks Jouni.