All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jdesktop.swingx.plaf.AbstractUIChangeHandler Maven / Gradle / Ivy

There is a newer version: 1.7.2
Show newest version
package org.jdesktop.swingx.plaf;

import javax.swing.JComponent;
import java.beans.PropertyChangeListener;
import java.util.Map;
import java.util.WeakHashMap;

@SuppressWarnings("nls")
public abstract class AbstractUIChangeHandler implements PropertyChangeListener {

    //prevent double installation.
    private final Map installed = new WeakHashMap<>();

    public void install(JComponent c) {
        if (isInstalled(c)) {
            return;
        }

        c.addPropertyChangeListener("UI", this);
        installed.put(c, Boolean.FALSE);
    }

    public boolean isInstalled(JComponent c) {
        return installed.containsKey(c);
    }

    public void uninstall(JComponent c) {
        c.removePropertyChangeListener("UI", this);
        installed.remove(c);
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy