GWT JSNI HelloWorld

package hello.client;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.user.client.Window;

/**
 * Entry point classes define <code>onModuleLoad()</code>.
 */
public class Jsni_hello implements EntryPoint {
	public void onModuleLoad() {
        //类中直接调用jsni
		Window.alert(hello());
		//jsni中调用类中的方法
		jsnicalljava();
	}
	
	/**
	 * 静态方法
	 * @return
	 */
	public static String javatojsni(){
		return "jsni call static method";
	}
	
	/**
	 * 非静态方法
	 * @return
	 */
	public String javatojsni2(){
		return "jsni call non-static method";
	}
	
	/**
	 * 带参数非静态方法
	 * @param str
	 * @return
	 */
	public String javatojsni3(String str){
		return str.toUpperCase();
	}
	
	/**
	 * jsni简单方法
	 * @return
	 */
	public native String hello()/*-{
		var hello='java call jsni:hello jsni';
		return hello;
	}-*/;
	
	/**
	 * jsni里调用
	 */
	public native void jsnicalljava()/*-{
		var [email protected]_hello::javatojsni()();
		var [email protected]_hello::javatojsni2()();
		var para="test";
		var [email protected]_hello::javatojsni3(Ljava/lang/String;)(para);
		$wnd.alert(str1+"\n"+str2+"\n"+str3);
	}-*/;
}

你可能感兴趣的:(java,Google,gwt)