以编程方式选择“代号一个标签”对象的标签

时间:2019-05-22 20:59:54

标签: codenameone

要以编程方式选择“代号一个选项卡”对象的选项卡,以下代码就足够了:

tabs.setSelectedIndex(tabToSelect, true);

问题在于此代码选择了所需的标签,但是它没有水平滚动标签按钮容器以使标签名称可见((如果由于有很多标签而无法看到))。请注意,我正在使用主题常量tabsGridBool: false;

由于这个问题,我试图解决:

tabs.setSelectedIndex(tabToSelect, true);
tabs.scrollComponentToVisible(tabs.getTabsContainer().getComponentAt(tabToSelect));

但是它不起作用。选择选项卡及其按钮的正确方法是什么?谢谢

1 个答案:

答案 0 :(得分:1)

我尝试了这个并且对我有用,这可能是操作的顺序:

Form hi = new Form("Tabs", new BorderLayout());
Tabs t = new Tabs();
hi.add(CENTER, t);

for(int iter = 1 ; iter < 20 ; iter++) {
    t.addTab("Tab " + iter, FontImage.MATERIAL_ACCESS_ALARM, 4, new Label("Tab " + iter));
}

Button test = new Button("Test");
test.addActionListener(e -> {
    t.getTabsContainer().getComponentAt(18).requestFocus();
    t.setSelectedIndex(18, true);
});
hi.add(SOUTH, test);
hi.show();