Files
smart_venue/netty-client/src/main/java/com/sv/barcode/ScanBarCode.java
2024-01-24 22:53:41 +08:00

45 lines
1.2 KiB
Java

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