以编程方式 select Codename One Tabs 对象的一个选项卡
Programmatically select a tab of a Codename One Tabs object
要以编程方式select Codename One Tabs 对象的一个选项卡,以下代码就足够了:
tabs.setSelectedIndex(tabToSelect, true);
问题是此代码 select 是想要的选项卡,但它不会水平滚动选项卡按钮容器以使选项卡名称可见 (如果它不可见,因为有许多标签)。请注意,我使用的是主题常量 tabsGridBool: false;
.
因为这个问题,我尝试这样解决:
tabs.setSelectedIndex(tabToSelect, true);
tabs.scrollComponentToVisible(tabs.getTabsContainer().getComponentAt(tabToSelect));
但它不起作用。 select 选项卡及其按钮的正确方法是什么?谢谢
我试过了,对我有用,这可能是操作顺序:
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();
要以编程方式select Codename One Tabs 对象的一个选项卡,以下代码就足够了:
tabs.setSelectedIndex(tabToSelect, true);
问题是此代码 select 是想要的选项卡,但它不会水平滚动选项卡按钮容器以使选项卡名称可见 (如果它不可见,因为有许多标签)。请注意,我使用的是主题常量 tabsGridBool: false;
.
因为这个问题,我尝试这样解决:
tabs.setSelectedIndex(tabToSelect, true);
tabs.scrollComponentToVisible(tabs.getTabsContainer().getComponentAt(tabToSelect));
但它不起作用。 select 选项卡及其按钮的正确方法是什么?谢谢
我试过了,对我有用,这可能是操作顺序:
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();