Class 扩展不同基础的包装器 class
Class wrapper extending different base class
我有一个 Java 项目,现在我也想将此代码用于 GWT 项目,这样我就不必编写相同的代码两次。问题是一些 classes 在 gwt 中不可用,例如 java.awt.geom.Rectangle2D.Double
.
我正在考虑创建一个名为 RectangleWrapper
的包装器 class,它将扩展标准矩形 class 或相同 class 的 gwt
版本].
在共享代码中,我将用我的 Rectangle
替换我所有的 Rectangle2D.Double
并根据最终布尔值我的包装器 class (compiler flags java) 将扩展到或另一个矩形 class.
这是否可能或是否有更好的方法?
我刚刚获取了我的 GWT 项目客户端之一 类 并添加了以下行:
if (false) {
String a = StringEscapeUtils.escapeHtml("lalala");
}
这显然编译得很好,但是当我启动 GWT 应用程序时,我得到了这个:
ERROR: Errors in 'file:/C:/gwtproject/src/main/java/package/ClientSideClass.java'
ERROR: Line 119: No source code is available for type org.apache.commons.lang.StringEscapeUtils; did you forget to inherit a required module?
所以答案是否定的,你不能使用那样的包装器。
还有其他方法可以实现吗?我很怀疑。
GWT 的主要功能之一是用一整套为 Javascript 兼容性设计的 Web GUI 组件替换旧的 AWT/Swing 桌面 GUI 组件;以任何方式提供或支持旧组件毫无意义。
如果您谈论的是像 Apache Commons 这样的实用程序库,我建议您改用 RPC 调用(客户端调用服务器端,您可以在其中使用任何您喜欢的东西,并且 return 结果异步),但事实并非如此。
我有一个 Java 项目,现在我也想将此代码用于 GWT 项目,这样我就不必编写相同的代码两次。问题是一些 classes 在 gwt 中不可用,例如 java.awt.geom.Rectangle2D.Double
.
我正在考虑创建一个名为 RectangleWrapper
的包装器 class,它将扩展标准矩形 class 或相同 class 的 gwt
版本].
在共享代码中,我将用我的 Rectangle
替换我所有的 Rectangle2D.Double
并根据最终布尔值我的包装器 class (compiler flags java) 将扩展到或另一个矩形 class.
这是否可能或是否有更好的方法?
我刚刚获取了我的 GWT 项目客户端之一 类 并添加了以下行:
if (false) {
String a = StringEscapeUtils.escapeHtml("lalala");
}
这显然编译得很好,但是当我启动 GWT 应用程序时,我得到了这个:
ERROR: Errors in 'file:/C:/gwtproject/src/main/java/package/ClientSideClass.java'
ERROR: Line 119: No source code is available for type org.apache.commons.lang.StringEscapeUtils; did you forget to inherit a required module?
所以答案是否定的,你不能使用那样的包装器。
还有其他方法可以实现吗?我很怀疑。
GWT 的主要功能之一是用一整套为 Javascript 兼容性设计的 Web GUI 组件替换旧的 AWT/Swing 桌面 GUI 组件;以任何方式提供或支持旧组件毫无意义。
如果您谈论的是像 Apache Commons 这样的实用程序库,我建议您改用 RPC 调用(客户端调用服务器端,您可以在其中使用任何您喜欢的东西,并且 return 结果异步),但事实并非如此。