import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.image.BufferedImage;
import java.io.FileOutputStream;
import javax.swing.JFrame;
import org.jbarcode.JBarcode;
import org.jbarcode.encode.Code39Encoder;
import org.jbarcode.encode.EAN13Encoder;
import org.jbarcode.paint.BaseLineTextPainter;
import org.jbarcode.paint.EAN13TextPainter;
import org.jbarcode.paint.WideRatioCodedPainter;
import org.jbarcode.paint.WidthCodedPainter;
import org.jbarcode.util.ImageUtil;
import net.sourceforge.barbecue.Barcode;
import net.sourceforge.barbecue.BarcodeException;
import net.sourceforge.barbecue.BarcodeFactory;
/**
* @description 针对条形码的帮助类
* @使用方法 类名调用
* @方法一:getNumStringByBarcode() 扫描条形码获得对应的数字字符串
* @方法二:(能够不用,方法三取代)getBarcodeByNumString(String numStr) 经过一串数字字符串获得条形码(swing显示)
* @author
* @区分键盘输入仍是扫描枪输入 思路:扫描输入的间隔比较均匀且时间很短(小于50毫秒), 而手动输入间隔至少在100毫秒以上。
* @方法三:createBarcodePictureByString(String numStr,String path)
*/
public class BarcodeUtils {
static long timeMillis1;
static long timeMillis2;
// 求间隔时间时用到的标志位,每进来一次keyPressed方法,把flag置反,而且记录当前系统的时间毫秒值先后相减,获得间隔时间
static boolean IntervalFlag = false;
static int count = 0;// 进入一次keyPressed()方法加1,第一次进入是不算时间间隔,count=2时开始算,另外能够用来判断是不是连续屡次输入
<