Codename One - BarCode扫描仪

时间:2016-02-04 06:48:05

标签: java codenameone

我正在使用最新的API(CodeScanner和ScanResult)进行条形码扫描,并想询问以下是否可行:

我想打开扫描窗口,扫描产品后会弹出一个对话框窗口,让我选择数量。执行此操作时,扫描窗口必须保持打开状态,因此在输入第一个产品的数量后,我可以扫描下一个产品,依此类推,直到我决定停止扫描。

我现在这样做的方式太慢,导致扫描窗口在第一次扫描后关闭,我必须在输入数量后再次打开它。感谢

1 个答案:

答案 0 :(得分:1)

当您尝试扫描时,Codenameone应用程序会打开本机扫描程序,并且在扫描后会对应用程序进行回调。

我建议你做的是在Dialog上放置2个命令,一个将结束扫描过程,另一个将在用户需要时启动新扫描。

Dialog dlg = new Dialog();
dlg.setLayout(new BorderLayout());
TextField txtQuantity = new TextField();
dlg.add(BorderLayout.CENTER, BoxLayout.encloseY(txtQuantity));

dlg.placeButtonCommands(new Command[]{new Command("Continue") {
    @Override
    public void actionPerformed(ActionEvent evt) {
        this.setDisposesDialog(true);
        dlg.dispose();
    }
}, new Command("Scan new") {
    @Override
    public void actionPerformed(ActionEvent evt) {
        this.setDisposesDialog(true);
        //Initiate a new scan here
    }
}});

然后在您的扫描回调中,显示此对话框。您可以将其包装在方法中,并在扫描新 actionPerformed中逐步调用此方法。