论坛首页 Web前端技术论坛

gwt 中的jsni

浏览 9197 次
锁定老帖子 主题:gwt 中的jsni
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-05-28  
GWT
JSNI是将少量的Javascript代码嵌入到java中,和java中的JNI很类似。
先来看看一段代码
其中 native void helloJSNI()
/*-{
$wnd.alert("Hello, GWT JSNI!");
}-*/;
native是关键子 表明它是本地方法 JavaScript代码块写在
/*-{   }-*/中间 。GWT 提供了 $wnd$doc变量,它们分别代表窗口和文档对象。
在扩展库的时候
1)首先在xiangmu.html中添加如下代码
<script type="text/JavaScript"src="Javascript/prototype.js">
</script>
<script type="text/JavaScript"src="Javascript/rico.fx.js">
</script>
这两个。js 可以实现组件变成圆角
2
创建一个javaConer.java
3)添加一个私有方法
private native static void corner
(Element element)
/*-{
$wnd._nativeExtensions = false;
$wnd.Rico.Corner.round(element, null);
}-*/
$wnd.Rico.Corner.round(element,null); 这段代码调用了rico.fx.js中的Rico.Corner.round(element,null)方法。在这里要提醒的是得到一个Rico类的对象不可以用 new Rico(); 因为 GWT编译所产生的所产生的代码在iframe中运行,所以要用到你所包含的对象的时候要用$wnd来调用。
4)在写一个类方法来调用他
public static void corner(Widget widget)
{
corner(widget.getElement(), null);
}
5)已经OK
   发表时间:2007-05-28  
rico的round原理是什么?会否改变最终dom(例如在element元素外包一层元素)?
0 请登录后投票
   发表时间:2007-05-28  
hax 写道
rico的round原理是什么?会否改变最终dom(例如在element元素外包一层元素)?
不好意思,我调用的是一个开源的js库只看了它的一些接口,至于里面怎么实现我没有深入的去看
0 请登录后投票
   发表时间:2007-05-28  
可以返回ArrayList 类型 的 我一般都是用ArrayList
作为返回值得
GWT对ArrayList 支持的还不错
0 请登录后投票
   发表时间:2007-05-29  
<script black type="text/Java</span><span style=" color:>
</script>
<script black type="text/Java</span><span style=" color:>
</script>


这段有些乱啊,怎么解释。
0 请登录后投票
   发表时间:2007-05-29  
没注意 网站过滤掉了 是这样的
<script type="text/JavaScript"src="Javascript/prototype.js">
</script>
<script type="text/JavaScript"src="Javascript/rico.fx.js">
</script>
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics