代码之家  ›  专栏  ›  技术社区  ›  Hasitha Jayawardana

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

  •  2
  • Hasitha Jayawardana  · 技术社区  · 6 年前

    那我该怎么解决呢?有人能帮我吗? 提前感谢您的帮助!谨致问候。

    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 回复  |  直到 6 年前