CheckboxCellEditor显示文本,而不是一个复选框
题
我使用以下
org.eclipse.jface.viewers.CheckboxCellEditor.CheckboxCellEditor(Composite parent)
我创建与cellEditors表查看器和执行以下操作
CellEditor[] editors = new CellEditor[columnNames.length];
editors[7] = new CheckboxCellEditor(table);
我有具有以下
一个CellModifierpublic Object getValue(Object element, String property) {
Object result = null;
...
result = Boolean.valueOf(task.isDfRequested());
return result;
}
public void modify(Object element, String property, Object value) {
item.isSelected(((Boolean)value).booleanValue());
}
最后,我有具有以下
一个LabelProvider public String getColumnText(Object element, int columnIndex) {
String result = "";
try {
result = Boolean.toString(item.isSelected());
} catch (Exception ex) { }
break;
不过,在我的UI而不是一个复选框,我有话真或假的&&点击它会导致开关状态或真或假。为什么我没有一个复选框??
任何想法解决方案 3
什么我决定做的是只实现别人已经用肮脏的黑客。
创建的复选框两个图像,一个检查了其它未选中。切换基于布尔两者之间的状态。
它并不完美,但现在它能够完成任务。
其他提示
我已经搜索在CheckboxCellEditor
类的源代码,并在关联到CellEditor中的控制是在createControl(Composite parent)
方法创建的构造函数。这种方法是在CellEditor
类抽象和它的实现像这样在CheckboxCellEditor
:
protected Control createControl(Composite parent) {
return null;
}
所以不会创建一个控制,这就是为什么你没有看到的复选框。在类的文档可以读:
请注意,此实现简单地 假货,并没有不产生任何 新的控制。的仅仅激活 这个编辑器意味着该值 复选框正在被触发 终端用户;听者方法 applyEditorValue立即调用 到信号的变化。
我解决了这个使用具有肯定和否定项的ComboBoxCellEditor。
问候。
好了,我不知道如何SWT工作或者是什么成分,你甚至谈论。
但我知道,使用秋千时,你可以定制编辑器JTable中的一列。如果你不告诉表格类数据的列,则数据的toString()方法被调用。但是,如果你告诉表布尔数据显示在列,则表将使用复选框编辑器。
听起来像是一个类似的症状,但我不知道你的具体的解决方案。
不隶属于 StackOverflow