JavaMHXY事件关联机制

起始的时候,程序的事件是通过firePropertyChanged来触发的,后来想改成脚本动态配置游戏框架,显然不能在代码指定哪个键/按钮对应什么事件。因为我只接触过Eclipse的插件和对java键盘绑定的一些了解,所以我就顺着感觉,按自己的理念做了一个动态加载框架。

按键 --触发--> Action:  这个是使用了Java的按键绑定 InputMap & ActionMap

按钮 --触发--> Action:  这个关联是手工做的,通过ActionID关联具体Action,就是JButton.setAction(),当然组件的创建是在解释器ScriptLoader中完成的。

共享Actions :  建立1个全局静态ActionMap,所有事件加载的时候都添加到里面actionMap.put(id,action),后面的控件就能根据ID获得对应的Action,这个必须按加载的先后顺序,否则无法共享处理代码。

描述HotKey的XML格式:

<HotKey keycode="W" mask="alt" actionID="com.jmhxy.dialogs.人物状态"/>

描述Button的XML格式:

<Button actionID="com.jmhxy.dialogs.人物状态" x="106" y="3" was="/Resources/WindowElement/人物头像/飞燕女.was" />

描述Action的XML格式:

<Action id="com.jmhxy.dialogs.人物状态" class="com.jmhxy.actions.HotKeyActions" />

就这样通过id将事件与目标关联起来,至于解释器,就是分析XML元素和属性,通过类反射加载处理类,再获得实例。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值