30.8. <w:chooseSkin>

OperaMasks提供了简便的换肤功能,ChooseSkin构件是一个下拉框,提供了多种皮肤让用户选择:default、vista、gray、aqua和aero,这些皮肤来自operamasks-skins.jar,如果用户想定义自己的一套皮肤,则只需要按照格式往operamasks-skins.jar里面增加一套就行了,chooseSkin构件不用作任何修改。

30.8.1. 构件信息

表 30.17. 构件信息

Component Typeorg.operamasks.faces.component.widget.UIChooseSkin
Component Familyorg.operamasks.faces.widget.ChooseSkin
Renderer Type(DEFAULT)javax.faces.Menu
Renderer Type(MENU)org.operamasks.faces.widget.RadioMenuItem
Component Classorg.operamasks.faces.component.widget.UIChooseSkin
Tag Classorg.operamasks.faces.webapp.widget.UIChooseSkinTag
Renderer Class(AJAX DEFAULT)org.operamasks.faces.render.widget.ajax.AjaxChooseSkinRenderer
Renderer Class(AJAX MENU)org.operamasks.faces.render.widget.ajax.AjaxChooseSkinMenuItemRenderer

继承体系

+java.lang.Object

++javax.faces.component.UIComponent

+++javax.faces.component.UIComponentBase

++++javax.faces.component.UIOutput

+++++javax.faces.component.UIInput

++++++org.operamasks.faces.component.widget.base.UIChooseSkinBase

+++++++org.operamasks.faces.component.widget.UIChooseSkin

30.8.2. 属性

表 30.18. 属性

accesskey 定义类 org.operamasks.faces.component.widget.UIChooseSkin
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
构件的快捷键,当按下快捷键(Alt + 快捷键, firefox下 Alt + Shift + 快捷键)时将焦点聚焦到构件
binding 定义类 javax.faces.component.UIComponentBase
类型 javax.el.ValueExpression(javax.faces.component.UIComponent)
是否必须 延时求值
一个值表达式,用于把该组件链接到一个ManagedBean的某个属性。
converter 定义类 javax.faces.component.UIOutput
类型 java.lang.String
是否必须 延时求值
构件注册的转换器
cookie 定义类 org.operamasks.faces.component.widget.UIChooseSkin
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
cookie名字
cookieMaxAge 定义类 org.operamasks.faces.component.widget.UIChooseSkin
类型 javax.el.ValueExpression(java.lang.Integer)
是否必须 延时求值
cookie的存活时间
dir 定义类 org.operamasks.faces.component.widget.UIChooseSkin
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
文本的对齐方式,可选值有LTR(左对齐)和RTL(右对齐)
disabled 定义类 org.operamasks.faces.component.widget.UIChooseSkin
类型 javax.el.ValueExpression(boolean)
是否必须 延时求值
指定构件是否可用
id 定义类 javax.faces.component.UIComponentBase
类型 java.lang.String
是否必须 延时求值
这个组件的组件标识符。这个值在最近的命名容器类型的父组件范围内,必须是唯一的。
lang 定义类 org.operamasks.faces.component.widget.UIChooseSkin
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
属性值和文本内容所使用的语言
onblur 定义类 org.operamasks.faces.component.widget.UIChooseSkin
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
构件失去焦点时执行的Javascript代码
onchange 定义类 org.operamasks.faces.component.widget.UIChooseSkin
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
指定构件失去焦点并且它的值已改变时执行的Javascript代码
onclick 定义类 org.operamasks.faces.component.widget.UIChooseSkin
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
构件被点击时执行的Javascript代码
onfocus 定义类 org.operamasks.faces.component.widget.UIChooseSkin
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
构件得到焦点时执行的Javascript代码
onkeydown 定义类 org.operamasks.faces.component.widget.UIChooseSkin
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
在构件上按下设备(键盘)按钮时执行的Javascript代码
onkeypress 定义类 org.operamasks.faces.component.widget.UIChooseSkin
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
在构件上的按下并释放设备(键盘)按钮时执行的Javascript代码
onkeyup 定义类 org.operamasks.faces.component.widget.UIChooseSkin
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
在构件上抬起设备(键盘)按钮时执行的Javascript代码
onmousedown 定义类 org.operamasks.faces.component.widget.UIChooseSkin
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
在构件上按下鼠标时执行的Javascript代码
onmousemove 定义类 org.operamasks.faces.component.widget.UIChooseSkin
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
鼠标在构件上移过时执行的Javascript代码
onmouseout 定义类 org.operamasks.faces.component.widget.UIChooseSkin
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
鼠标移出构件时执行的Javascript代码
onmouseover 定义类 org.operamasks.faces.component.widget.UIChooseSkin
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
鼠标移到构件时执行的Javascript代码
onmouseup 定义类 org.operamasks.faces.component.widget.UIChooseSkin
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
在构件上鼠标抬起时执行的Javascript代码
rendered 定义类 javax.faces.component.UIComponentBase
类型 boolean(boolean)
是否必须 延时求值
一个标志,指出该组件是否要在任何随后的form提交过程中被渲染或处理。 这个属性的缺省值是true。
style 定义类 org.operamasks.faces.component.widget.UIChooseSkin
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
构件渲染时应用到构件的CSS风格,对应于元素的style属性
styleClass 定义类 org.operamasks.faces.component.widget.UIChooseSkin
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
空格分隔的CSS风格类名列表,渲染时作为元素的"class"属性
tabIndex 定义类 org.operamasks.faces.component.widget.UIChooseSkin
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
当用户使用tab键时,页面上构件获得焦点的顺序索引
title 定义类 org.operamasks.faces.component.widget.UIChooseSkin
类型 javax.el.ValueExpression(java.lang.String)
是否必须 延时求值
为构件提供的提示信息
value 定义类 javax.faces.component.UIInput
类型 java.lang.String
是否必须 延时求值
构件的当前值
valueChangeListener 定义类 javax.faces.component.UIInput
类型 javax.el.MethodExpression(javax.el.MethodExpression)
是否必须 延时求值
该属性为一个EL表达式(MethodBinding),表示当值改变时响应事件的方法。表达式所指定的方法必须是void valueChange(javax.faces.event.ValueChangeEvent)形式

30.8.3. 构件API

30.8.4. 示例

ChooseSkin使用非常简单,如下代码,把w:chooseSkin放在w:form里面即可。

    <w:form>
        <h:outputLabel value="Skin: " style="font-weight:bold"/>
        <w:chooseSkin cookie="skin"/>
    </w:form>