通过GWT中的延迟绑定实例化接口?

时间:2016-04-05 07:00:35

标签: java gwt

我正在阅读GWT

的代码

在这个项目中,他们正在获得一些constant值,例如来自properties file的按钮文字。

所以他们有一个接口LocalizableResource并获得像

这样的实例
public interface LocalizableResource extends Constants {

 public static class Util {

            public static LocalizableResource getInstance() {

                    return  GWT.create(LocalizableResource.class);
            }
        }
   String lblName_text_1();
 }

useinstance获取按钮文字

String buttonText = LocalizableResource.Util.getInstance().lblName_text_1();
Button b = new Button(buttonText); 

in java we can not Instantiates an interface then

GWT如何做到这一点。关于延迟绑定和GWT,我没有太多想法。

2 个答案:

答案 0 :(得分:0)

这就是GWT的优点,也是管理多个客户端的方式之一,这是GWT框架的核心优势。

  

http://www.gwtproject.org/doc/latest/DevGuideCodingBasicsDeferred.html

     

延迟绑定是GWT编译器的一个特性,它通过在编译时生成许多版本的代码来工作,在运行时引导期间,只有一个版本需要由特定客户端加载。每个版本都是基于每个浏览器生成的,以及应用程序定义或使用的任何其他轴。例如,如果您要使用GWT的国际化模块使您的应用程序国际化,GWT编译器将在每个浏览器环境中生成各种版本的应用程序,例如“英文版Firefox”,“法文版Firefox”,“英文版Internet Explorer”,等等...因此,部署的JavaScript代码比手动编码的JavaScript更紧凑,更快速下载,仅包含特定浏览器环境所需的代码和资源。

答案 1 :(得分:0)

  

标记接口,有助于区分区域敏感的编译时   绑定属性文件提供的常量值。运用   GWT.create(class)“实例化”扩展常量的接口   返回自动生成的子类的实例   使用基于选择的属性文件中的值实现   语言环境。 more info