Vaadin 如何在tabsheet中的选项卡后使用额外空间
我是vaadin的新手,我用两个选项卡创建了tabsheet,一个带有图形,另一个带有一些信息,我的问题是如何在选项卡的右角(同一行)添加组件(组合框、标签)Vaadin 如何在tabsheet中的选项卡后使用额外空间,vaadin,Vaadin,我是vaadin的新手,我用两个选项卡创建了tabsheet,一个带有图形,另一个带有一些信息,我的问题是如何在选项卡的右角(同一行)添加组件(组合框、标签) final TabSheet tabSheet = new TabSheet(); tabSheet.setSizeFull(); tabSheet.addTab(rightAndLowerPanels, "Graphs"); tabSheet.addTab(new Label("<b>Haiiiiii
final TabSheet tabSheet = new TabSheet();
tabSheet.setSizeFull();
tabSheet.addTab(rightAndLowerPanels, "Graphs");
tabSheet.addTab(new Label("<b>Haiiiiiiiiiiiii</b>", ContentMode.HTML), "Message");
final TabSheet TabSheet=new TabSheet();
tabSheet.setSizeAll();
tabSheet.addTab(右下面板,“图形”);
tabSheet.addTab(新标签(“haiiii”,ContentMode.HTML),“Message”);
前表1 |表2 我想在这里添加
我无法发布此问题的图像。
提前感谢虽然组件本身不支持这一点,但可以通过使用css设置组件的绝对位置来实现这一点,以便将其悬停在选项卡上的正确位置
AbsoluteLayout al = new AbsoluteLayout();
al.addStyleName("tab-sheet-layout"); // position: relative;
al.addComponent(new TabSheet(new Label("1"),new Label("2")));
al.addComponent(new ComboBox(), "right: 5px; top: 5px;");
包含tabseet和悬停组件的div(布局)应设置为position:relative
这样绝对位置是从组件的角而不是浏览器的角设置的,然后将组合框的位置设置为如下所示:位置:绝对;右:3px;顶部:3px代码>
如果要添加一些检查以确定组件位置,甚至可以使用Vaadin的AbsoluteLayout或CssLayout
AbsoluteLayout al = new AbsoluteLayout();
al.addStyleName("tab-sheet-layout"); // position: relative;
al.addComponent(new TabSheet(new Label("1"),new Label("2")));
al.addComponent(new ComboBox(), "right: 5px; top: 5px;");
或使用CssLayout:
public static class TabSheetLayout extends CssLayout {
public TabSheetLayout() {
addStyleName("tab-sheet-layout"); // position: relative;
addComponent(new TabSheet(new Label("1"),new Label("2")));
addComponent(new ComboBox());
}
@Override
protected String getCss(Component c) {
if (c instanceof ComboBox) { // do some check here
return "position:absolute; right: 3px; top: 3px;";
}
return null;
}
}
但是,您应该注意,如果您将屏幕调整得足够小,组合框将悬停在选项卡上,因此您需要通过固定布局宽度或其他方法来停止此操作。就我对vaadin的了解而言,我认为我不可能以任何其他方式做到这一点,我需要标签页和组件并排。