Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用元数据动态创建GWT屏幕?_Gwt_Extjs_Smartgwt_Gwt Ext - Fatal编程技术网

使用元数据动态创建GWT屏幕?

使用元数据动态创建GWT屏幕?,gwt,extjs,smartgwt,gwt-ext,Gwt,Extjs,Smartgwt,Gwt Ext,我有一个AWT小程序应用程序需要移植到GWT。小程序屏幕用元数据描述,小程序使用反射动态呈现每个屏幕 我们希望在GWT/ExtGWT中使用相同的内容 我已经构建了这个ExtJS的一个工作版本,其中元数据以JSON的形式转换为ExtJS屏幕配置。这种方法的缺点是控件与数据的“连接”需要用Javascript编写 GWT是首选,因为它将是所有Java代码,而不是JS。在深入研究之后,可以使用GWT呈现屏幕,而不使用GWT.create()呈现元数据 我遇到的问题是,将动态创建的按钮挂接到事件处理程序

我有一个AWT小程序应用程序需要移植到GWT。小程序屏幕用元数据描述,小程序使用反射动态呈现每个屏幕

我们希望在GWT/ExtGWT中使用相同的内容

我已经构建了这个ExtJS的一个工作版本,其中元数据以JSON的形式转换为ExtJS屏幕配置。这种方法的缺点是控件与数据的“连接”需要用Javascript编写

GWT是首选,因为它将是所有Java代码,而不是JS。在深入研究之后,可以使用GWT呈现屏幕,而不使用GWT.create()呈现元数据

我遇到的问题是,将动态创建的按钮挂接到事件处理程序的连接需要反射,这在GWT中不受支持


这个结论正确吗?如果是这样,有没有其他方法可以使用ExtGWT实现这种类型的动态UI

对于没有声明式UI的extGWT,最简单的解决方案可能是在java中添加一个映射/配置处理程序,该处理程序引用实例化的类。处理程序的名称,即:

Map<String, ActionListener> mapping = new HashMap<String, ActionListener>();
mapping.put("HandleClicked", new HandleClickedActionListener());
Map-mapping=newhashmap();
put(“HandleClicked”,新的HandleClickedActionListener());
然后,您可以尝试为元数据找到一个实现类


对于纯GWT2,您可以看看它是如何实现的。也许可以创建一个类似的解决方案,为您自己的extgwt解决方案(如gwt中的解决方案)添加注释方法。

您能举例说明元数据的外观吗?如果你已经得到了元数据,为什么还需要反射呢?元数据描述了屏幕的小部件、窗口、面板、按钮和网格。我需要将触发这些对象的事件(如“clicked”)连接到用java编写的事件处理程序。类似于myButton.addActionListener((ActionListener)EventHandler.create(ActionListener.class,frame,“HandleClicked”);其中“HandleClicked”来自元数据,指的是在别处定义的函数。