Java Editable JCombobox Keylistener event for Enter key

前端 未结 6 1820
太阳男子
太阳男子 2020-12-11 05:56

I have editable JCombobox and I added keylistener for combobox editor component. When user press \'Enter key\' and if there is no text on the editable combobox I need to dis

6条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-11 06:37

    Please check if this code helps you!!!

    JFrame frame = new JFrame("Welcome!!");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    
    JComboBox cmb = new JComboBox();
    cmb.setEditable(true);
    cmb.getEditor().getEditorComponent().addKeyListener(new KeyAdapter() {
    
        @Override
        public void keyReleased(KeyEvent event) {
            if (event.getKeyChar() == KeyEvent.VK_ENTER) {
                if (((JTextComponent) ((JComboBox) ((Component) event
                        .getSource()).getParent()).getEditor()
                        .getEditorComponent()).getText().isEmpty())
                    System.out.println("please dont make me blank");
            }
        }
    });
    frame.add(cmb);
    
    frame.setLocationRelativeTo(null);
    frame.setSize(300, 50);
    frame.setVisible(true);
    

    Most people find it difficult because of this casting.

提交回复
热议问题