ComboBoxCellEditor - 摆脱文本框?

时间:2014-12-31 19:16:50

标签: java eclipse swt tablecelleditor tableviewer

我有TableViewer ComboBoxCellEditor。当我点击单元格时,首先我得到一个文本框(类似于TextCellEditor),旁边有一个箭头。如果我单击箭头,我会得到下拉列表,其中包含我放入的值。

有没有办法让我跳过文本框步骤?当我点击/遍历单元格时,我希望它立即打开组合框。与此同时,我也不想允许除列表中的选项之外的任何选项。

我想也许这种行为是由一种风格控制的,但我发现的唯一风格是

/**
 * The list is dropped down when the activation is done through the mouse
 */
public static final int DROP_DOWN_ON_MOUSE_ACTIVATION = 1;

/**
 * The list is dropped down when the activation is done through the keyboard
 */
public static final int DROP_DOWN_ON_KEY_ACTIVATION = 1 << 1;

/**
 * The list is dropped down when the activation is done without
 * ui-interaction
 */
public static final int DROP_DOWN_ON_PROGRAMMATIC_ACTIVATION = 1 << 2;

/**
 * The list is dropped down when the activation is done by traversing from
 * cell to cell
 */
public static final int DROP_DOWN_ON_TRAVERSE_ACTIVATION = 1 << 3;

它们似乎没有相关性。事实上,我设置了所有这些,但我无法获得我正在寻找的功能。

如何在没有附带文本框的情况下显示保管箱?

1 个答案:

答案 0 :(得分:0)

可以使用构造函数更改底层Combo小部件的样式:

ComboBoxCellEditor(Composite parent, String[] items, int style) 

并将SWT.READ_ONLY作为样式传递