ControlsFX SpreadsheetView: How to set SpreadsheetCell to graphic only?
<p>I have create my own <code>SpreadsheetCellEditor</code> to show a <code>ColorPicker</code>, but I don't want to return back the <code>ColorPicker.getValue().toString</code>, I want to return a label with
Background color of selected value. I have searched for <code>setContentDisplay(ContentDisplay.GRAPHIC_ONLY)</code> but it seems not exist on SpreadsheetCell.
So how I can achieve this?
Here is my implementation so far,</p>

<pre><code>public class comboboxCellEditor extends SpreadsheetCellEditor {
    private final ColorPicker colorPicker = new ColorPicker();
    private EventHandler&lt;KeyEvent&gt; eh;
    private ChangeListener&lt;Color&gt; cl;
    private boolean ending = false;

    public comboboxCellEditor(SpreadsheetView view) {
        super(view);

    }

    @Override
    public void startEdit(Object value) {
        if (value instanceof Color) {
            this.colorPicker.setValue((Color) value);
        }

        attachEnterEscapeEventHandler();
        this.colorPicker.show();
        this.colorPicker.requestFocus();

    }


    @Override
    public Control getEditor() {
        return colorPicker;
    }


    public String getControlValue() {

        return this.colorPicker.getValue().toString();

    }

    @Override
    public void end() {
        if (this.colorPicker.isShowing()) {
            this.colorPicker.hide();
        }

        this.colorPicker.removeEventFilter(KeyEvent.KEY_PRESSED, this.eh);
        this.colorPicker.valueProperty().removeListener(this.cl);
    }

    private void attachEnterEscapeEventHandler() {
        this.eh =
                new EventHandler&lt;KeyEvent&gt;() {
                    public void handle(KeyEvent t) {
                        if (t.getCode() == KeyCode.ENTER) {
                            comboboxCellEditor.this.ending = true;
                            comboboxCellEditor.this.endEdit(true);
                            comboboxCellEditor.this.ending = false;
                        } else if (t.getCode() == KeyCode.ESCAPE) {
                            comboboxCellEditor.this.endEdit(false);
                        }

                    }
                };
        this.colorPicker.addEventFilter(KeyEvent.KEY_PRESSED, this.eh);
        this.cl = new ChangeListener&lt;Color&gt;() {
            public void changed(ObservableValue&lt;? extends Color&gt; observable, Color oldValue, Color newValue) {
                if (!comboboxCellEditor.this.ending)
                    comboboxCellEditor.this.endEdit(true);

            }
        };
        this.colorPicker.valueProperty().addListener(this.cl);
    }

}

public class SpreadSheetComboboxCellType extends SpreadsheetCellType&lt;Color&gt; {
    @Override
    public SpreadsheetCellEditor createEditor(SpreadsheetView spreadsheetView) {
        return new comboboxCellEditor(spreadsheetView);
    }

    @Override
    public String toString(Color color) {
        return color.toString();
    }

    @Override
    public boolean match(Object o) {
        return true;

    }

    @Override
    public Color convertValue(Object o) {
        if (o instanceof Color)
            return (Color) o;
        else {
            return Color.valueOf((String) o);
        }
    }

    public SpreadsheetCell createCell(int row, int column, int rowSpan, int columnSpan, Color value) {
        SpreadsheetCellBase cell = new SpreadsheetCellBase(row, column, rowSpan, columnSpan, this);
        cell.setItem(value);
        Label label = new Label();
        label.setGraphic(null);
        label.setContentDisplay(ContentDisplay.GRAPHIC_ONLY);
        cell.setGraphic(label);

        return cell;
    }

}
</code></pre>