package com.sv.barcode; import com.sv.netty.ClientHandler; import com.sv.netty.ClientThread; import com.sv.netty.config.NettyConstant; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.util.LinkedList; import java.util.List; public class ScanBarCode extends KeyAdapter { private final Logger logger = LoggerFactory.getLogger(ClientHandler.class); private List barcode = new LinkedList<>(); @Override public void keyTyped(KeyEvent e) { if (barcode.size() > 200) { barcode.clear(); } char keyChar = e.getKeyChar(); logger.info("each time didi key【" + keyChar + "】"); if (NettyConstant.BARCODE_END == keyChar) { String barStr = ""; if (barcode.size() > 0 && barcode != null) { for (Character character : barcode) { barStr = barStr + character; } } logger.info(barStr); ClientThread.getInstance().checkBarcode(barStr); barcode.clear(); } barcode.add(keyChar); if (NettyConstant.BARCODE_BEGIN == keyChar) { barcode.clear(); } } }