treeViewer のノードを選択すると、Eclipse プロパティ ビューに対応する値が表示される Eclipse プラグイン アプリケーションを作成しようとしています。IPropertySource
以下のようなインターフェースをオーバーライドするクラスを実装しました。
public class PropertyViewer implements IPropertySource
{
@Override
public Object getEditableValue()
{
return this;
}
@Override
public IPropertyDescriptor[] getPropertyDescriptors() {
return desc;
}
@Override
public Object getPropertyValue(Object id) {
application specific logic yo return value for a id
}
@Override
public boolean isPropertySet(Object id) {
return true;
}
@Override
public void resetPropertyValue(Object id) {
}
@Override
public void setPropertyValue(Object id, Object value) {
//to set vlaue for a changed property in eclipse property view
}}
上記のコードの問題はsetPropertyValue
、Eclipse プロパティで更新が行われたときに が正しく呼び出されることです。しかし、更新されたプロパティは、入力時にEclipseプロパティビュー内に表示されません。しかし、このノードの選択を解除して再度選択すると、更新された値が表示されます。私はよくグーグルで検索し、firePropertyChange
メソッドをsetpropertyValue
関数の下で呼び出す必要があることを知りました。私はこれにまったく慣れていないので、誰かがこれについて私を助けることができますか. fireproperty の変更を呼び出す方法を示す小さなコード スニペットが役立ちます。よろしくお願いします。トア