private void installKeyboardActions() { InputMap im = getInputMap(); ActionMap am = getActionMap(); im.put(KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, 0), "onDown"); am.put("onDown", new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { int index = (getSelectedIndex()+1) % getModel().getSize(); ensureIndexIsVisible(index); setSelectedIndex(index); } }); im.put(KeyStroke.getKeyStroke(KeyEvent.VK_UP, 0), "onUp"); am.put("onUp", new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { int index = getSelectedIndex() - 1; if (index < 0) { index += getModel().getSize(); } ensureIndexIsVisible(index); setSelectedIndex(index); } }); }
/** * Adds key bindings to this popup. */ private void installKeyBindings() { InputMap im = getRootPane().getInputMap( JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); ActionMap am = getRootPane().getActionMap(); KeyStroke escapeKS = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0); im.put(escapeKS, "onEscape"); am.put("onEscape", new EscapeAction()); list.getInputMap().remove(escapeKS); }
Listener() { addWindowFocusListener(this); list.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { if (e.getClickCount()==2) { insertSelectedItem(); } } }); list.getInputMap().put( KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "onEnter"); list.getActionMap().put("onEnter", new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { insertSelectedItem(); } }); // If anything happens to the "parent" window, hide this popup Window parent = (Window)getParent(); parent.addWindowFocusListener(this); parent.addWindowListener(this); parent.addComponentListener(this); }
Listener() { addWindowFocusListener(this); list.addMouseListener(new MouseAdapter() { @Override public void mouseClicked(MouseEvent e) { if (e.getClickCount()==2) { insertSelectedItem(); } } }); list.getInputMap().put( KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "onEnter"); list.getActionMap().put("onEnter", new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { insertSelectedItem(); } }); // If anything happens to the "parent" window, hide this popup Window parent = (Window)getParent(); parent.addWindowFocusListener(this); parent.addWindowListener(this); parent.addComponentListener(this); }
private void installKeyboardActions() { InputMap im = getInputMap(); ActionMap am = getActionMap(); im.put(KeyStroke.getKeyStroke(KeyEvent.VK_DOWN, 0), "onDown"); am.put("onDown", new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { int index = (getSelectedIndex()+1) % getModel().getSize(); ensureIndexIsVisible(index); setSelectedIndex(index); } }); im.put(KeyStroke.getKeyStroke(KeyEvent.VK_UP, 0), "onUp"); am.put("onUp", new AbstractAction() { @Override public void actionPerformed(ActionEvent e) { int index = getSelectedIndex() - 1; if (index < 0) { index += getModel().getSize(); } ensureIndexIsVisible(index); setSelectedIndex(index); } }); }
/** * Adds key bindings to this popup. */ private void installKeyBindings() { InputMap im = getRootPane().getInputMap( JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT); ActionMap am = getRootPane().getActionMap(); KeyStroke escapeKS = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0); im.put(escapeKS, "onEscape"); am.put("onEscape", new EscapeAction()); list.getInputMap().remove(escapeKS); }