gpt4 book ai didi

java - CheckboxCellEditor 显示文本而不是复选框

转载 作者:太空宇宙 更新时间:2023-11-04 08:58:57 25 4
gpt4 key购买 nike

我正在使用以下内容

org.eclipse.jface.viewers.CheckboxCellEditor.CheckboxCellEditor(Composite parent)

我正在使用 cellEditors 创建一个表格查看器并执行以下操作

CellEditor[] editors = new CellEditor[columnNames.length];
editors[7] = new CheckboxCellEditor(table);

我有一个具有以下内容的 CellModifier

public 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 中,我没有复选框,而是显示 true 或 false 一词,并且单击它会导致将状态切换为 false 或 true。关于为什么我没有复选框有什么想法吗?

最佳答案

我在 CheckboxCellEditor 类的源代码中进行了搜索,在构造函数中,与 CellEditor 关联的控件是在 createControl(Compositeparent) 方法中创建的。该方法在 CellEditor 类中是抽象的,在 CheckboxCellEditor 中实现如下:

protected Control createControl(Composite parent) {
return null;
}

因此未创建控件,这就是您看不到该复选框的原因。在该类的文档中,您可以阅读:

Note that this implementation simply fakes it and does does not create any new controls. The mere activation of this editor means that the value of the check box is being toggled by the end users; the listener method applyEditorValue is immediately called to signal the change.

我使用包含 yes 和 no 项目的 ComboBoxCellEditor 解决了这个问题。

问候。

关于java - CheckboxCellEditor 显示文本而不是复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1395910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com