import java.awt.Container; import java.util.ArrayList; import java.util.List; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JTextField; public class MyApp extends JFrame implements KeyboardListener { private static JdbcCodeDao dao = new JdbcCodeDao();//实例化操作数据库的dao private JTextField field; // List hisData = new ArrayList(); public MyApp() { setTitle("扫码重复检查程序"); //设置显示窗口标题 setSize(400,200); //设置窗口显示尺寸 setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //置窗口是否可以关闭 JLabel jl =new JLabel("扫码内容:"); //创建一个标签 Container c=getContentPane(); //获取当前窗口的内容窗格 c.add(jl); //将标签组件添加到内容窗格上 field = new JTextField(); c.add(field); setVisible(true); //设置窗口是否可见 new WindowsKeybordListener().start(this); } public static void main(String[] agrs) { new MyApp(); //创建一个实例化对象 } @Override public void onResult(String str) { Code code = dao.findByName(str); if (code != null) { // JOptionPane.showMessageDialog(null, "数据重复啦!!!", "提示", JOptionPane.ERROR_MESSAGE); field.setText("重复扫码:"+str); new Thread() { public void run() { try { sleep(500); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } JOptionPane.showMessageDialog(null, "数据重复啦!!!", "提示", JOptionPane.ERROR_MESSAGE); } }.start(); } else { field.setText(str); Code newCode = new Code(); newCode.setName(str); dao.add(newCode); System.out.println("添加扫码到的数据成功了"); } } }