JComboBox 循环遍历上下箭头键

戏剧性的样子

我有一个关于 JComboBox 的问题。我正在尝试使用向上向下箭头键进行循环遍历。但是,当我按下向下箭头键后到达底部时,我将所选索引设置为 0。但它到达项目索引 1。其他方式也是如此。当在顶部并按下向上键时,将选择最后一个元素之前的项目。有没有办法解决这个问题?

提前致谢。

public class ComboTest {

public static void main(String[] args){
  JFrame f = new JFrame("Java Swing Examples");
  final JComboBox c = new JComboBox();
  for ( int i = 0; i < 5 ; i++) {
     c.addItem(i+"");
  }

  f.getContentPane().add(c);
  f.pack();
  f.setMinimumSize(new Dimension(300,200));
  f.setPreferredSize(new Dimension(300,200));

  c.addKeyListener(new KeyListener()
  {
     public void keyTyped(KeyEvent e) { }

     public void keyReleased(KeyEvent e) {
        int index = c.getSelectedIndex();
        System.out.println("Released: "+index);
     }

     public void keyPressed(KeyEvent e) {

        int index = c.getSelectedIndex();
        System.out.println("Pressed: "+index);

        if(index == c.getItemCount()-1 && e.getKeyCode()==KeyEvent.DOWN) {
           c.setSelectedIndex(0);
        } else if (index == 0 && e.getKeyCode() == KeyEvent.VK_UP) {
           c.setSelectedIndex(c.getItemCount()-1);
        }
     }
  });
戏剧性的样子

我们需要在设置索引后消费事件。

e.consum ()

解决了!!!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章