我的应用需要动态存储多个Panel。所以TabPanel是合适的选择。但是,TabPanel只能在Quirks模式下工作,它也可以在标准模式下工作,但是有一些Quirks,例如,当你点击一个放在TabPanel里面的链接时,就会出现一个小的抖动。但TabPanel非常简单,而不是重量级。易于编码。
我不确定是否将链接放入HTMLpanel&然后把那个HTMLPanel放到那个TabPanel中,然后摇晃的问题会解决吗?
其他一些人说不使用TabPanel,因为它只支持Quirks Mode,所以它的行为在许多不同的webbrowsers中都是不可预测的。他们更喜欢使用TabLayoutPanel。好吧,TabLayoutPanel非常稳定,但它相当复杂,必须放入RootLayoutPanel。如果我没有把它放入RootLayoutPanel,那么我必须设置它的固定宽度&高度(例如:600px 300px),以便能够在非root演示者中看到它。但我希望它的高度+宽度伸展到100%。有些人在使用TabLayoutPanel时遇到问题,所以他们必须切换到TabPanel,但将来可能会弃用TabPanel。
所以,有些人建议我使用TabBar + DeckLayoutPanel来使用自定义TabPanel,但我找不到任何关于如何使用TabBar + DeckLayoutPanel制作自定义TabPanel的UiBinder指南。
如果你必须在你的应用程序中使用Tab(就上述限制而言,即在标准模式下顺利运行而不是放入RootPanel),你会选择哪种解决方案?
哪种方法最好?
答案 0 :(得分:0)
尽可能使用TabLayoutPanel。
如果我需要一个不使用整个窗口的标签面板,或者我希望标签内容只占用所选标签所需的一面,那么我使用自定义的TabPanel。那个是使用TabLayoutPanel显示标签但内容放在FlowPanel外面。