Oracle ADF:SkinFactory 在 JDeveloper 12.1.3 中无法正常工作
Oracle ADF: SkinFactory is not working correctely in JDeveloper 12.1.3
我使用下面的代码填充我的皮肤列表,让用户可以在运行时更改皮肤。
public List getSkinChoices() {
List choices = new ArrayList();
String skinFamily = null;
String skinLabel = null;
SkinFactory sf = SkinFactory.getFactory();
FacesContext context = FacesContext.getCurrentInstance();
for (Iterator i = sf.getSkinIds(); i.hasNext();) {
String skinID = (String) i.next();
Skin skin = sf.getSkin(context, skinID);
skinFamily = skin.getFamily();
skinLabel = skinFamily;
if (skin.getRenderKitId().indexOf("desktop") > 0 ) {
choices.add(new SelectItem(skinFamily, skinLabel));
}
}
return choices;
}
现在我正在使用 Jdev 12.1.3,该方法 sf.getSkinIds();
已弃用。
该方法不再像往常一样加载所有皮肤
有人可以指导我使用新的实现方式吗?
是否有任何替代方法来获得所有可用的皮肤?
注意:有关加载 Jdev 12.1.2 中所有可用皮肤的代码。
谢谢
SkinFactory
class 是特立尼达 API 的一部分,根据其 javadoc,您必须:
Use SkinProvider#getSkinMetadata()
to get the list of skins supported.
所以,你必须这样做:
Collection<SkinMetadata> supportedSkins = SkinProvider.getSkinMetadata(context);
Iterator<SkinMetadata> iterator = supportedSkins.iterator();
while (iterator.hasNext()) {
SkinMetadata next = iterator.next();
skinFamily = next.getFamily();
//etc.
}
我使用下面的代码填充我的皮肤列表,让用户可以在运行时更改皮肤。
public List getSkinChoices() {
List choices = new ArrayList();
String skinFamily = null;
String skinLabel = null;
SkinFactory sf = SkinFactory.getFactory();
FacesContext context = FacesContext.getCurrentInstance();
for (Iterator i = sf.getSkinIds(); i.hasNext();) {
String skinID = (String) i.next();
Skin skin = sf.getSkin(context, skinID);
skinFamily = skin.getFamily();
skinLabel = skinFamily;
if (skin.getRenderKitId().indexOf("desktop") > 0 ) {
choices.add(new SelectItem(skinFamily, skinLabel));
}
}
return choices;
}
现在我正在使用 Jdev 12.1.3,该方法 sf.getSkinIds();
已弃用。
该方法不再像往常一样加载所有皮肤
有人可以指导我使用新的实现方式吗? 是否有任何替代方法来获得所有可用的皮肤?
注意:有关加载 Jdev 12.1.2 中所有可用皮肤的代码。
谢谢
SkinFactory
class 是特立尼达 API 的一部分,根据其 javadoc,您必须:
Use
SkinProvider#getSkinMetadata()
to get the list of skins supported.
所以,你必须这样做:
Collection<SkinMetadata> supportedSkins = SkinProvider.getSkinMetadata(context);
Iterator<SkinMetadata> iterator = supportedSkins.iterator();
while (iterator.hasNext()) {
SkinMetadata next = iterator.next();
skinFamily = next.getFamily();
//etc.
}