在Java中最小化JFrame表单时如何输入数据?

时间:2018-11-01 09:36:43

标签: java swing barcode-scanner jlist minimize

在最小化JFrame表单时如何将条形码详细信息显示在列表中。当表单最小化时,我试图将每个条形码的详细信息发送到JList。我正在使用此代码将条形码详细信息与其他关键事件分开。但是,即使最小化了JFrame,我也无法弄清楚如何将细节放入JList。

那么我该如何解决?有人可以帮助我吗? 我在这里先向您的帮助表示感谢!最好的问候。

private static final long THRESHOLD = 100;
private static final int MIN_BARCODE_LENGTH = 8;
private final StringBuffer barcode = new StringBuffer();
private long lastEventTimeStamp = 0L;
DefaultListModel dlm = new DefaultListModel();

KeyboardFocusManager.getCurrentKeyboardFocusManager().addKeyEventDispatcher(new KeyEventDispatcher()
        {
            @Override
            public boolean dispatchKeyEvent(KeyEvent e)
            {
                if (e.getID() != KeyEvent.KEY_RELEASED)
                {
                    return false;
                }

                if (e.getWhen() - lastEventTimeStamp > THRESHOLD)
                {
                    barcode.delete(0, barcode.length());
                }

                lastEventTimeStamp = e.getWhen();

                if (e.getKeyCode() == KeyEvent.VK_ENTER)
                {
                    if (barcode.length() >= MIN_BARCODE_LENGTH)
                    {
                        jList1.setModel(dlm);
                        dlm.addElement(barcode.toString().trim());
                    }
                    barcode.delete(0, barcode.length());
                } else {
                    barcode.append(e.getKeyChar());
                }
                return false;
            }
        });

0 个答案:

没有答案