动态视图

(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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值