我正在使用SmartGWT 2.4,我有两种类型的TabSet,每种都有不同的外观和感觉,我面临着实现它的问题。
新的TabSet已实现如下:
public class MainTabSet extends TabSet{
public MainTabSet(){
super.setStylePrimaryName("MainTabSet");
build();
}
private void build(){
setMargin(6);
setWidth100();
setHeight100();
setStyleName("nt-main-tabset");
Tab inboxTab = new Tab("Inbox");
inboxTab.setPane(new InboxPane().get());
}
}
基于最后一段(多个查找相同的组件类型)here:
我已经定义了一个新类,它拥有我上面使用的相同主名称:
isc.defineClass("MainTabSet", "TabSet");
然后我添加了一些属性:
isc.MainTabSet.addProperties({
tabBarThickness:100,
scrollerButtonSize:100,
pickerButtonSize:100,
symmetricScroller:false,
symmetricPickerButton:false,
scrollerSrc:"nothing",
pickerButtonSrc:"nothingg",
closeTabIconSize:100
})
上面的代码已写在load_skin.js文件的第6部分(TabSet)的顶部。
现在,我仍然在MainTabSet中获得相同的旧TabSet外观。
我现在的问题是:
我是否按照正确的步骤实现了目标?
我如何考虑TabSet类TabBar的某些子元素的新类,但仅限于新组件(MainTabSet)?
谢谢你们。
答案 0 :(得分:1)
根据您提到的last paragraph of the article,您可以调用setScClassName("MainTabSet")
将smartClient的js类应用于您的java类。我认为应该是这样的:
public class MainTabSet extends TabSet{
public MainTabSet(){
setScClassName("MainTabSet");
build();
}
private void build(){
setMargin(6);
setWidth100();
setHeight100();
setStyleName("nt-main-tabset");
Tab inboxTab = new Tab("Inbox");
inboxTab.setPane(new InboxPane().get());
}
}