background image
首先来看这段代码是什么意思呢?
就是我定义了一个控件类型为
CustomComboBoxEditor 的控件,他继承了 ComboBoxEditor 的
全部方法和属性,并且我把新定义的控件类型的标记声明为
customcombo,这个标记有啥用
勒,其他用途就不说了,单单说在这里的用途,就是
JAVA 本身是不能让前端取生成什么控
件的
~而是通过告诉前端一个配置,前端的 JS 引擎(姑且这么称呼他吧)~根据这个配置去
执行对应的脚本生成对应的
dom 样式之类的~shortcut 你就这么理解~后台返回一个配置是
要 生 成
customcombo 这 个 控 件 ~ 那 么 它 就 像 一 个 map 一 样 找 到 了 对 应 的 键 值
FR.CustomComboBoxEditor~然后把该控件的配置丢到这个方法里面去执行。就生成我们的控
件了。
因为这个例子中并没有对前端有任何修改的要求
~所以就没做任何改动~下面看后台。
我们这个例子是要修改模糊匹配的方式。
那么原来控件匹配的机制是怎么搞的,是这样的:假设我是一个老板(妈蛋也只能假设一下
了),现在我想了解一份纸质合同的细节,但是公司有一大坨纸质合同我怎么找呢
~当然是请
个秘书了(美女最好),我告诉她我要的合同大概是有些什么信息
~然后她去找出来把最后找
到的合同给我就可以了。
我们这里控件
ComboBox 就是老板,ComboBoxDataFilter 就是秘书,就是这么个意思,这里
每个秘书肯定都有自己找合同的一套方法,以前那个秘书是只要有点相关的就都找出来了,
新来的这个秘书是只找老板提示的信息匹配到的合同
~查找匹配的方法就是 isMatch,这个代
码就是这样的,代码的开发其实只要仔细分析就能够映射到现实生活中的很多事务处理上面
~因为代码也是人设计的,逻辑总逃脱不了人处理事务的思维。