Tabs Codenameone WebBrowser组件在标签标题左对齐时隐藏标签

Tabs Codenameone WebBrowser组件在标签标题左对齐时隐藏标签,tabs,size,codenameone,Tabs,Size,Codenameone,当我有一个选项卡组件,其中选项卡位于屏幕左侧,并且其中一个选项卡包含WebBrowser组件(位于具有BorderLayout的容器中)时,选项卡平铺(和图标)将隐藏在包含WebBrowser组件的选项卡之后 这可以在模拟器和Android版本中看到——IOS版本很好 基本上,网络浏览器太宽,覆盖了标签 代码示例: Form f = new Form(); f.setLayout(new BorderLayout()); Tabs tabs = new Tabs(); tabs.setTab

当我有一个选项卡组件,其中选项卡位于屏幕左侧,并且其中一个选项卡包含WebBrowser组件(位于具有BorderLayout的容器中)时,选项卡平铺(和图标)将隐藏在包含WebBrowser组件的选项卡之后

这可以在模拟器和Android版本中看到——IOS版本很好

基本上,网络浏览器太宽,覆盖了标签

代码示例:

Form f = new Form();

f.setLayout(new BorderLayout());

Tabs tabs = new Tabs();
tabs.setTabPlacement(Component.LEFT);

f.addComponent(BorderLayout.CENTER, tabs);

tabs.addTab("Tab 1", new Label("Label for tab 1"));

WebBrowser wb = new WebBrowser();
wb.setPage("<h1>Web Browse Tab 2", null);

tabs.addTab("Tab 2", wb);
tabs.addTab("Tab 3", new Label("Label for tab 2"));

f.show();
Form f=新表单();
f、 setLayout(新的BorderLayout());
制表符=新制表符();
tabs.setTabPlacement(组件.左);
f、 添加组件(BorderLayout.CENTER、选项卡);
tabs.addTab(“Tab 1”,新标签(“Tab 1标签”);
WebBrowser wb=新的WebBrowser();
wb.setPage(“Web浏览选项卡2”,空);
tabs.addTab(“表2”,wb);
tabs.addTab(“Tab 3”,新标签(“Tab 2的标签”);
f、 show();

在将webbrowser放入选项卡之前,可以将其包装在BorderLayout容器中

此外,tab希望添加容器,而不是标签或任何其他组件

您可以这样做:

    Form f = new Form(new BorderLayout());
    Tabs tab = new Tabs(Component.LEFT);
    f.addComponent(BorderLayout.CENTER, tab);
    tab.addTab("Tab 1", encloseIn(new BoxLayout(BoxLayout.Y_AXIS), new Label("Label for tab 1")));
    WebBrowser wb = new WebBrowser();
    wb.setPage("<h1>Web Browse Tab 2", null);
    tab.addTab("Tab 2", BorderLayout.center(wb));
    tab.addTab("Tab 3", encloseIn(new BoxLayout(BoxLayout.Y_AXIS), new Label("Label for tab 2")));
formf=新表单(newborderlayout());
Tabs tab=新选项卡(组件。左侧);
f、 添加组件(BorderLayout.CENTER,选项卡);
tab.addTab(“tab 1”,encloseIn(新的BoxLayout(BoxLayout.Y_轴),新标签(“tab 1标签”));
WebBrowser wb=新的WebBrowser();
wb.setPage(“Web浏览选项卡2”,空);
tab.addTab(“tab 2”,BorderLayout.center(wb));
tab.addTab(“tab 3”,encloseIn(新的BoxLayout(BoxLayout.Y_轴),新标签(“tab 2的标签”));

您应该能够将
浏览器组件
直接放置在选项卡中,并且选项卡本身位于表单的中心,因此这应该“正常工作”

你似乎做得很好,所以我不知道为什么会发生这种情况。确保没有定义像
tabsOnTopBool
这样的主题常量


如果没有,则可能是内部的
选项卡layout
类没有为侧选项卡留出足够的空间。

不好!已尝试将WebBrowser包装在具有边框布局的容器中,但仍然存在相同问题。在将标签添加到选项卡之前,是否也在容器中添加了标签?
wb.setPage(“Web浏览选项卡2”,null)缺少
的结束标记
。是吗?只是检查了一下,还是不好。上面的代码只是我在我编写的应用程序中看到的问题的一个简单示例,该应用程序从基于web的系统加载格式良好的HTML。我建议您发布完整的代码(替换敏感信息),我可以帮助您找到问题Hi Shai,除非默认情况下定义了常量,否则它不会被设置。这种效果仅在WebBrowser之后的选项卡上才能看到,看起来WebBrowser是全屏宽度(不仅仅是选项卡“视图”的宽度),并在选项卡标题上方向右溢出。这对我来说不是一个表演的阻碍,我只会把标签标题放在最上面。我希望在某个时候能解决这个问题。看看代码,如果iOS还可以,我猜这是一个
BrowserComponent
问题。这个特定组件的X位置可能有问题,尽管奇怪的是,这个问题会以同样的方式在桌面和Android上发生。请用代码在github中提交一个问题,并在此处链接