public FormulaFragmentCellEditor() { setLayout( new BorderLayout() ); final Action action = createExtendedEditorAction(); this.eventListenerList = new EventListenerList(); ellipsisButton = new EllipsisButton( "..." ); ellipsisButton.addActionListener( action ); comboBox = new JComboBox(); final ComboBoxEditor boxEditor = comboBox.getEditor(); if ( boxEditor instanceof BasicComboBoxEditor ) { final BasicComboBoxEditor basicComboBoxEditor = (BasicComboBoxEditor) boxEditor; final Object editorComponent = basicComboBoxEditor.getEditorComponent(); if ( editorComponent instanceof JTextField ) { final JTextField editorTextField = (JTextField) editorComponent; editorTextField.setDocument( new NonFilteringPlainDocument() ); } } comboBox.setRenderer( new EmptyValueListCellRenderer() ); comboBox.addActionListener( new SelectionAction() ); comboBox.getInputMap().put( KeyStroke.getKeyStroke( KeyEvent.VK_ESCAPE, 0 ), new CancelAction() ); comboBox.getInputMap().put( EditorMessages.getInstance().getKeyStroke ( "AbstractStringValueCellEditor.Popup.Accelerator" ), POPUP_EDITOR ); comboBox.setBorder( BorderFactory.createEmptyBorder() ); comboBox.setEditable( true ); add( comboBox, BorderLayout.CENTER ); add( ellipsisButton, BorderLayout.EAST ); formulaContext = new DefaultFormulaContext(); nullable = false; }