Java 代号一-条码扫描器

Java 代号一-条码扫描器,java,codenameone,Java,Codenameone,我正在使用最新的API(CodeScanner和ScanResult)进行条形码扫描,我想问一下是否可能: 我想打开扫描窗口,扫描产品后,会弹出一个对话框窗口,让我选择数量。执行此操作时,扫描窗口必须保持打开状态,因此在输入第一个产品的数量后,我可以扫描下一个产品,依此类推,直到我决定停止扫描 我现在这样做太慢了,因为第一次扫描后扫描窗口关闭,我必须在输入数量后再次打开它。谢谢Codenameone应用程序在您尝试扫描时打开本机扫描仪,扫描后会回调该应用程序 我建议您在对话框中放置两个命令,一个

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

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


我现在这样做太慢了,因为第一次扫描后扫描窗口关闭,我必须在输入数量后再次打开它。谢谢

Codenameone应用程序在您尝试扫描时打开本机扫描仪,扫描后会回调该应用程序

我建议您在对话框中放置两个命令,一个命令将结束扫描过程,另一个命令将在用户需要时启动新的扫描

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
    }
}});

然后在扫描回调中显示此对话框。您可以将其包装在一个方法中,并在执行的新扫描操作中递归调用此方法。

仅供参考,条形码扫描API现在已弃用,不久将被删除,因此另一个选项是编辑实际的本机库,在此处替换它: