要以编程方式选择“代号一个选项卡”对象的选项卡,以下代码就足够了:
tabs.setSelectedIndex(tabToSelect, true);
问题在于此代码选择了所需的标签,但是它没有水平滚动标签按钮容器以使标签名称可见((如果由于有很多标签而无法看到))。请注意,我正在使用主题常量tabsGridBool: false;
。
由于这个问题,我试图解决:
tabs.setSelectedIndex(tabToSelect, true);
tabs.scrollComponentToVisible(tabs.getTabsContainer().getComponentAt(tabToSelect));
但是它不起作用。选择选项卡及其按钮的正确方法是什么?谢谢
答案 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();