我将前景色设置为灰色,未选中,蓝色设置为选中,然后按主题,UIID名称为“ Tab”。选项卡中的文本可以正常工作,但无论选择,未选择还是按下,fontImage始终为灰色。我使用了fontIMage.createMaterial样式的UIManager.getInstance()。getComponentStyle(“ Tab”)。标签的图标为什么不随文本变化?
Style iconStyle = UIManager.getInstance().getComponentStyle("Tab");
Image calendarIcon2 = FontImage.createMaterial(FontImage.MATERIAL_UPDATE, iconStyle, 4);
Image calendarIcon3 = FontImage.createMaterial(FontImage.MATERIAL_WHATSHOT, iconStyle, 4);
Tabs tabs = new Tabs(Component.BOTTOM);
tabs.addTab("Home", calendarIcon2, new Container());
tabs.addTab("Servicing", calendarIcon3, new Container());
tabs.addTab("History", calendarIcon, new Container());
tabs.addTab("Quick Booking", calendarIcon1, new Container());
add(BorderLayout.CENTER, tabs);
在下面的标签页图像中,为什么所选标签页的图标的颜色是灰色而不是蓝色作为标签页的文本?
答案 0 :(得分:0)
您使用的是固定图像,由于选项卡不知道FontImage
,因此图像的颜色不会动态更改。
有两种方法。您可以使用更新的材料设计特定的addTab
API:
addTab(String title, char materialIcon, float iconSize, Component component)
或者,您可以使用字体图像以正确的颜色创建图标,并使用以下方法明确设置它们:
setTabSelectedIcon(Component tab, Image icon)