gpt4 book ai didi

java - 我应该如何显示 ICellEditorValidator 检测到的验证错误?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:38:02 24 4
gpt4 key购买 nike

我有一个带有 ICellModifier 的 TableViewer,它似乎工作正常。不过,我在其中一个单元格编辑器上设置了一个 ICellEditorValidator,但我无法让它按照我想要的方式运行。这是我的缩写代码:

cellEditors[1] = new TextCellEditor(table);
cellEditors[1].setValidator(new ICellEditorValidator() {
public String isValid(Object value) {
try {
Integer.parseInt((String) value);
return null;
} catch(NumberFormatException e) {
return "Not a valid integer";
}
}
});

它大部分工作正常。但是,有两个问题:

  1. 单元格的modify方法修饰符接收一个 null 作为新的如果 validator 返回一个值错误。我可以编写代码来处理这个,但这似乎不对。无效的可以是有效值,例如,如果用户选择背景颜色,他们选择了透明的。(这是一个普遍问题,并非特定于此示例。)
  2. validator 的错误信息是永远不会显示给用户。这个是个大问题。我也可以添加一个 ICellEditorListener 和显示一个对话框applyEditorValue 方法,如果最后一个值无效。这是“正确”的方式来做到这一点?

顺便说一句,出于我无法控制的原因,我仅限于 Eclipse 3.0 框架。

最佳答案

你可以给你的编辑器添加一个监听器:

cellEditors[1].addListener(
public void applyEditorValue() {
page.setErrorMessage(null);
}

public void cancelEditor() {
page.setErrorMessage(null);
}

public void editorValueChanged(boolean oldValidState,
boolean newValidState) {
page.setErrorMessage(editor.getErrorMessage());
}

page 作为您当前的 FormPage,这将向用户显示错误消息。

关于java - 我应该如何显示 ICellEditorValidator 检测到的验证错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/890491/

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