當前位置: 首頁>>代碼示例>>Java>>正文


Java PropertyChangeSupport.removePropertyChangeListener方法代碼示例

本文整理匯總了Java中java.beans.PropertyChangeSupport.removePropertyChangeListener方法的典型用法代碼示例。如果您正苦於以下問題:Java PropertyChangeSupport.removePropertyChangeListener方法的具體用法?Java PropertyChangeSupport.removePropertyChangeListener怎麽用?Java PropertyChangeSupport.removePropertyChangeListener使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在java.beans.PropertyChangeSupport的用法示例。


在下文中一共展示了PropertyChangeSupport.removePropertyChangeListener方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: removePropertyChangeListener

import java.beans.PropertyChangeSupport; //導入方法依賴的package包/類
/**
 * Removes the specified property change listener so that it
 * no longer receives property change events from this object.
 * @param         l     the property change listener
 */
public final void removePropertyChangeListener(PropertyChangeListener l) {
    boolean callRemoved;

    synchronized (getLock()) {
        PropertyChangeSupport supp = (PropertyChangeSupport) getProperty(PROP_SUPPORT);

        if (supp == null) {
            return;
        }

        boolean hasListener = supp.hasListeners(null);
        supp.removePropertyChangeListener(l);
        callRemoved = hasListener && !supp.hasListeners(null);
    }

    if (callRemoved) {
        putProperty(PROP_SUPPORT, null); // clean the PCS, see #25417
        removeNotifySuper = false;
        removeNotify();

        if (!removeNotifySuper) {
            String msg = "You must call super.removeNotify() from " + getClass().getName() + ".removeNotify()"; // NOI18N
            err.warning(msg);
        }
    }
}
 
開發者ID:apache,項目名稱:incubator-netbeans,代碼行數:32,代碼來源:SharedClassObject.java

示例2: removePropertyChangeListener

import java.beans.PropertyChangeSupport; //導入方法依賴的package包/類
/**
 * Remove a PropertyChangeListener from this context dispatcher.
 * @param l The PropertyChangeListener
 */
public void removePropertyChangeListener(PropertyChangeListener l) {
    pcs.removePropertyChangeListener(l);
    // Also remove the listener from all MIME types
    synchronized (pcsByMIMEType) {
        Set<String> MIMETypes = new HashSet(pcsByMIMEType.keySet());
        for (String MIMEType : MIMETypes) {
            PropertyChangeSupport _pcs = pcsByMIMEType.get(MIMEType);
            _pcs.removePropertyChangeListener(l);
            if (_pcs.getPropertyChangeListeners().length == 0) {
                pcsByMIMEType.remove(MIMEType);
            }
        }
    }
}
 
開發者ID:apache,項目名稱:incubator-netbeans,代碼行數:19,代碼來源:EditorContextDispatcher.java

示例3: removePropertyChangeListener

import java.beans.PropertyChangeSupport; //導入方法依賴的package包/類
@Override
public synchronized void removePropertyChangeListener(
        String propertyName,
        PropertyChangeListener listener)
{
    PropertyChangeSupport pcs = (PropertyChangeSupport)
            AppContext.getAppContext().get(PROP_CHANGE_SUPPORT_KEY);
    if (null != pcs) {
        pcs.removePropertyChangeListener(propertyName, listener);
    }
}
 
開發者ID:SunburstApps,項目名稱:OpenJSharp,代碼行數:12,代碼來源:Toolkit.java

示例4: main

import java.beans.PropertyChangeSupport; //導入方法依賴的package包/類
public static void main(String[] args) {
    PropertyChangeSupport pcs = new PropertyChangeSupport(TestListeners.class);
    pcs.addPropertyChangeListener(new TestListeners(0));
    pcs.addPropertyChangeListener(NAME, new TestListeners(2));
    pcs.addPropertyChangeListener(new TestListeners(1));
    pcs.addPropertyChangeListener(NAME, new PropertyChangeListenerProxy(NAME, new TestListeners(3)));


    current = 0;
    pcs.firePropertyChange(NAME, 0, 1);
    if (current != 4)
        throw new Error("Expected 4 listeners, but called " + current);

    current = 0;
    pcs.firePropertyChange(NONE, 1, 0);
    if (current != 2)
        throw new Error("Expected 2 listeners, but called " + current);


    PropertyChangeListener[] all = pcs.getPropertyChangeListeners();
    if (all.length != 4)
        throw new Error("Expected 4 listeners, but contained " + all.length);

    PropertyChangeListener[] named = pcs.getPropertyChangeListeners(NAME);
    if (named.length != 2)
        throw new Error("Expected 2 named listeners, but contained " + named.length);

    PropertyChangeListener[] other = pcs.getPropertyChangeListeners(NONE);
    if (other.length != 0)
        throw new Error("Expected 0 other listeners, but contained " + other.length);

    pcs.removePropertyChangeListener(new TestListeners(0));
    pcs.removePropertyChangeListener(new TestListeners(1));
    pcs.removePropertyChangeListener(NAME, new TestListeners(2));
    pcs.removePropertyChangeListener(NAME, new PropertyChangeListenerProxy(NAME, new TestListeners(3)));

    all = pcs.getPropertyChangeListeners();
    if (all.length != 0)
        throw new Error("Expected 4 listeners, but contained " + all.length);

    named = pcs.getPropertyChangeListeners(NAME);
    if (named.length != 0)
        throw new Error("Expected 2 named listeners, but contained " + named.length);

    other = pcs.getPropertyChangeListeners(NONE);
    if (other.length != 0)
        throw new Error("Expected 0 other listeners, but contained " + other.length);
}
 
開發者ID:lambdalab-mirror,項目名稱:jdk8u-jdk,代碼行數:49,代碼來源:TestListeners.java

示例5: removePropertyChangeListener

import java.beans.PropertyChangeSupport; //導入方法依賴的package包/類
/**
 * Removes <code>PropertyChangeListener</code> from a document.
 *
 * @param doc The document to remove the listener from.
 * @param l The listener to remove from the document.
 *
 * @since 1.35
 */
public static void removePropertyChangeListener(Document doc, PropertyChangeListener l) {
    PropertyChangeSupport pcs = (PropertyChangeSupport) doc.getProperty(PropertyChangeSupport.class);
    if (pcs != null) {
        pcs.removePropertyChangeListener(l);
    }
}
 
開發者ID:apache,項目名稱:incubator-netbeans,代碼行數:15,代碼來源:DocumentUtilities.java


注:本文中的java.beans.PropertyChangeSupport.removePropertyChangeListener方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。