更改GWT Widget CSS类前缀

时间:2012-07-04 12:21:25

标签: gwt

我有一个带有两个TabPanel的GWT应用程序。 TabPanel生成具有前缀gwt-TabPanel的

有没有办法为其中一个表更改此前缀?我希望能够独立设置两个TabPanel的样式。

2 个答案:

答案 0 :(得分:2)

为了解决这个问题,我做了:

使用setStylePrimaryName(String);这将更改TabPanel和TabBar使用的CSS类名称的前缀。

tabPanel.getTabBar().setStylePrimaryName("myTabBar"); 
tabPanel.setStylePrimaryName("myTabPanel");

在CSS文件中添加如下内容:

.myTabBar {
}

.myTabBar .gwt-TabBarFirst {
  width: 5px;  /* first tab distance from the left */
}
.myTabBar .gwt-TabBarRest {
}
.myTabBar .gwt-TabBarItem {
  margin-left: 6px;
  padding: 3px 6px 3px 6px;
  cursor: pointer;
  cursor: hand;
  color: black;
  font-weight: bold;
  text-align: center;
  background: #3A3A3A;
}
.myTabBar .gwt-TabBarItem-selected {
  cursor: default;
  /* background: black; */
} 
.myTabBar .gwt-TabBarItem-disabled {
  cursor: default;
  color: red;
}
.myTabPanel {
}
.myTapPanel .myTabPanelBottom {
  border-width: 0px;
  overflow: hidden;
  padding: 6px;
}

对于第二个TabPanel,您可以在TabPanel和TabBar上使用setStylePrimaryName()设置不同的。然后使用第二个主要名称将新部分添加到CSS文件中。

答案 1 :(得分:0)

您可以使用方法setStyleName()addStyleName()为GWT UI对象设置或添加CSS样式。