Display dropdown in a JComboBox Component Using a Keystroke in Java
Description
The following code shows how to display dropdown in a JComboBox Component Using a Keystroke.
Example
import java.awt.BorderLayout;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
//from www . ja v a 2 s. c o m
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class Main {
public static void main(String[] argv) throws Exception {
String[] items = { "A", "A", "B", "B", "C", "C" };
JComboBox cb = new JComboBox(items);
// Create and register the key listener
cb.addKeyListener(new MyKeyListener());
JPanel panel = new JPanel();
panel.setLayout(new BorderLayout(10, 10));
panel.add(cb, BorderLayout.CENTER);
JFrame f = new JFrame();
f.add(panel);
f.pack();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
class MyKeyListener extends KeyAdapter {
public void keyPressed(KeyEvent evt) {
JComboBox cb = (JComboBox) evt.getSource();
// Get pressed character
char ch = evt.getKeyChar();
// If not a printable character, return
if (ch != KeyEvent.CHAR_UNDEFINED) {
cb.showPopup();
}
}
}
The code above generates the following result.
Home »
Java Tutorial »
Swing »
Java Tutorial »
Swing »