ValuePropertyEditor.java 文件源码

java
阅读 26 收藏 0 点赞 0 评论 0

项目:incubator-netbeans 作者:
@Override
public void attachEnv(PropertyEnv env) {
    //System.out.println("ValuePropertyEditor.attachEnv("+env+"), feature descriptor = "+env.getFeatureDescriptor());
    env.setState(PropertyEnv.STATE_NEEDS_VALIDATION);
    env.addVetoableChangeListener(validate);
    if (delegatePropertyEditor instanceof ExPropertyEditor) {
        //System.out.println("  attaches to "+delegatePropertyEditor);
        if (delegateValue instanceof String) {
            ShortenedStrings.StringInfo shortenedInfo = ShortenedStrings.getShortenedInfo((String) delegateValue);
            if (shortenedInfo != null) {
                // The value is too large, do not allow editing!
                FeatureDescriptor desc = env.getFeatureDescriptor();
                if (desc instanceof Node.Property){
                    Node.Property prop = (Node.Property)desc;
                    // Need to make it uneditable
                    try {
                        Method forceNotEditableMethod = prop.getClass().getDeclaredMethod("forceNotEditable");
                        forceNotEditableMethod.setAccessible(true);
                        forceNotEditableMethod.invoke(prop);
                    } catch (Exception ex){}
                    //editable = prop.canWrite();
                }
            }
        }
        ((ExPropertyEditor) delegatePropertyEditor).attachEnv(env);
        this.env = env;
    }
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号