您的位置:首页 > 其它

动态视图

2015-10-27 15:06 253 查看
(1)实质

就是通过java代码来控制页面

(2)分类

1)整体过程

1.创建控件;

2.触发init动作{

2.1。触发beforeInit动作;

2.2.读取XML属性配置信息;

2.3触发onInit动作;

}
2)区别

beforeInit因为是在读取xml中的配置之前执行的,所以有可能被xml中的配置所覆盖

onInit在读取xml之后执行的,所以结果肯定是onInit中设置的值

(3)实例

1)定义onInit(或beforeInit)方法

package sample.dynamicView;

import org.springframework.stereotype.Component;

import com.bstek.dorado.common.event.DefaultClientEvent;
import com.bstek.dorado.view.widget.base.Button;

@Component
public class DynamicView {
public void onBtnInit(Button button) {
button.setCaption("新增");
button.setWidth("200");
button.addClientEventListener("onClick",
new DefaultClientEvent("dorado.MessageBox.alert('You clicked' + self.get('caption'))"));
}
public void beforeBtnInit(Button button) {
button.setCaption("before init");
button.setWidth("200");
button.addClientEventListener("onClick",
new DefaultClientEvent("dorado.MessageBox.alert('You clicked' + self.get('caption'))"));
}
}


2)控件中设置listener



3)运行



(4)view监听

1)view也能够添加listener

2)动态在view中添加button实例

@Component
public class DynamicView {
public void onViewInit(View view) {
Button button = new Button();
button.setCaption("dynamic create");
button.setWidth("200");
button.addClientEventListener("onClick", new DefaultClientEvent("dorado.MessageBox.alert('You clicked' + self.get('caption'))"));

view.addChild(button);
}
}
view上添加:



3)在java代码中获得其中的子控件

1>通过getComponent方法

最好不用

2>设置为方法参数

public void onViewNewInit(View view,Button btn) {
btn.setCaption("测试方法参数");
}
注意:参数名称必须是控件的id
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: