【问题标题】:How can I integrate ZXing (Zebra crossing) in GWT?如何在 GWT 中集成 ZXing(斑马线)?
【发布时间】:2013-09-24 12:44:07
【问题描述】:

我想在 GWT 应用程序中使用 Zxing 生成条形码。

我已经用 QRCodeWriter 实现了代码。它工作正常。如果我将它作为一个简单的 java 程序运行。后来我在我的 GWT 应用程序中集成了相同的功能。编译时出现错误“没有可用于类型 com.google.zxing.oned.com.google.zxing.qrcode.QRCodeWriter 的源代码;您是否忘记继承所需的模块

QRCodeWriter 存在于 Zxing , core-2.2.jar 但我找不到任何 .gwt.xmlcore-2.2.jar

所以帮助我摆脱这个。

或者这还有其他适合在 GWT 应用程序中生成条形码的工具/库

【问题讨论】:

标签: gwt zxing gwt2 gxt


【解决方案1】:

如果您的 Zxing 客户端没有模块,我认为它无法工作!您想要使用的类可能是用于服务器端代码的。

【讨论】:

    【解决方案2】:

    GWT 客户端代码被交叉编译成 Javascript。 Zxing 包是纯 Java 的,除非它们明确支持 GWT(它们为您提供可以继承的模块),否则不能在客户端使用。

    您可以做一个 servlet,在服务器端生成条形码(服务器端代码不会被交叉编译)并将响应作为图像发送。

    如果 Zxing 只使用 GWT allows on the client side 的类,你可以在你的项目中制作一个包,将 Zxing 源代码放在那里,并在你的 GWT.xml 中添加 <source path='...' /> 标签,使其在客户端可用。但我不知道这会在多大程度上起作用,我不知道他们的许可协议是否允许这样做。

    【讨论】:

      【解决方案3】:

      Zxing 不能在客户端 gwt 中使用,但您可以使用 javascript 库。 其中之一是http://barcode-coder.com/en/barcode-jquery-plugin-201.html

      要使用此库,您需要执行以下步骤:

      在你的 xxx.nocache.js 之前包含这个 js 文件

      <script type="text/javascript" src="jquery-1.3.2.min.js"></script>    
      <script type="text/javascript" src="jquery-barcode.js"></script>  
      

      并使用这段代码生成您的条形码

      SimplePanel simplePanel = new SimplePanel();
      RootPanel.get().add(simplePanel);
      createBarcode(simplePanel.getElement(), "1234567890128", "ean13");
      

      ...

      private native void createBarcode(Element element, String data, String type) /*-{
          $wnd.$(element).barcode(data, type);
      }-*/;
      

      【讨论】:

        猜你喜欢
        • 2010-12-11
        • 1970-01-01
        • 2018-01-24
        • 1970-01-01
        • 1970-01-01
        • 2023-03-14
        • 2020-05-03
        • 2011-05-30
        • 1970-01-01
        相关资源
        最近更新 更多