Change panel via buttons (kind of tab panel)

Hi there.


Preface,
Since this is my first post some initial words. I cheer you guys for VAADIN which I learned a couple of months ago. I regard it a top notch GUI framework!! I hate Javascript, so of course I came to simply love VAADIN.


My question.
My customer wants the layout of his portlet changed. (Yes, using VAADIN from within a Portal solution, Liferay, actually, which I see the VAADIN website uses as well - A decision totally flabbergasting to me, once you know Liferay, but anyway…)

The layout I initially created has a tab panel on the right-hand side (content area). This tab based change of content panel has to be altered to an approach of

“change / switch content panel by random buttons deployed all over the place but not withing a tab bar row anymore.”

So instead of tabs being neatly placed in an adjacent manner, I have buttons all over the place that when pressed replace the content panel altogether.

I could do this via CSS - I guess - by building up all existing content panels in a row (CCS float: left or something) and then dynamically (event triggered) do
.setStyleName(“myHiddenStyle”)
on the panels not to be displayed.

But that would be really awkward. So I tried to find a VAADIN panel solution for that, but couldn’t find one. Is there such a solution to this in VAADIN, and if not, would you agree with my CSS approach, and if not, could someone point me to a description on how to best deal with this?

Would greatly appreciate your input or questions!

Hi Ay… not sure if I understood you problem right… but why can’t you still use a TabSheet, hide all Tabs and change the selected tab via your button control? This would be the most forward solution for you.
But of course you don’t need a TabSheet at all… you can also provide an empty Panel and exchange it’s content dynamically if buttons are pressed.

It sounds like you want a Vaadin component for the GWT DeckPanel.
But you can accomplish this (or similar behavior) with a normal Vaardin Panel ( If I understand your problem correctly ) …


Panel.setContent()

Thank you guys!
Both your pointers were really valuable, saved me from continueing the wrong road and led to a Homer Simpson-like “Doh!” on my part.
Thank you very much!