0

PropertyDescriptorを拡張するクラスがあり、値を入力するための小さなダイアログが開きます。
これまでのところ動作しており、ダイアログが表示され、すべての値を入力できます。しかし、システムは、ファイルが編集されたことを示しません。

ダイアログはInputDialogのコピーです。

fireApplyEditorValue、 、 などのfireEditorValueChangedメソッドを使用しようとしましvalueChangedた。しかし、違いはありません。
fire メソッドにあるリスナーを確認しましたが、それらはTextCellEditorで使用される同じリスナーです。

私が逃したものを理解することはできません。

アドバイスをありがとう。

これが私のcreatePropertyEditor方法です:

public CellEditor createPropertyEditor(Composite parent) {
    CellEditor editor = new DialogCellEditor(parent) {
        @Override
        protected Object openDialogBox(Control cellEditorWindow) {
            SimpleDialog dialog = new SimpleDialog(cellEditorWindow.getShell(), (SomeValue) doGetValue());
            dialog.open();
            return dialog.getValue();
        }
    };
    if (getValidator() != null)
        editor.setValidator(getValidator());
    return editor;
}
4

1 に答える 1

2

私は自分の間違いを見つけました。クラスSomeValue
のメソッドを上書きする必要があります。equals

于 2012-05-10T15:36:53.337 に答える