我正在使用 JSNI 功能将同样非常方便的 Canvas 和 Animation 库移植到 GWT。作为我包装的第一个库,我可以对这个特定的构造函数使用一些帮助:
/**
* This is passed as the parameter to onPress, onMouseMove, onMouseUp, onMouseDown, and onClick handlers on
* DisplayObject instances.
* By default, mouse events are disabled for performance reasons. In order to enabled them for a specified stage
* set mouseEventsEnabled to true on your stage instance.
* @class MouseEvent
* @constructor
* @param {String} type The event type.
* @param {Number} stageX The mouseX position relative to the stage.
* @param {Number} stageY The mouseY position relative to the stage.
* @param {DisplayObject} target The display object this event relates to.
* @param {MouseEvent} nativeEvent The native DOM event related to this mouse event.
**/
var MouseEvent = function(type, stageX, stageY, target, nativeEvent) {
this.initialize(type, stageX, stageY, target, nativeEvent);
}
var p = MouseEvent.prototype;
您可以在这里查看整个课程:http: //easeljs.com/docs/MouseEvent.js.html
我的问题是,如何从 GWT 传递事件并成功地将其提供给此类的 JSNI 构造函数?
仅供参考:我已经分叉了 Timknip 的 Easeljs 的 GWT 端口(0.2.1),我正在对其进行更新以包含最新的 Easel 功能(0.4.0)。https://github.com/timknip/easel-gwt
编辑:我认为本机事件将是您用 Java 编写的函数,对吗?假设您想在单击某处的画布时添加一个 ONMOUSEUP 事件,并且逻辑保存在您编写的名为“onClickSomeButton()”的函数中,那么您想将此方法作为此构造函数中的参数传递吗?我不认为 Java 可以将方法作为参数传递,但没有办法通过扩展一些抽象 GWT 类来包装它吗?