下面列出了java.beans.PropertyChangeListener#propertyChange ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
public void setValue( Object value ) {
if ( ( value != null ) && !this.type.isInstance( value ) ) {
throw new IllegalArgumentException( "Unsupported value: " + value );
}
Object oldValue;
PropertyChangeListener[] listeners;
synchronized ( this.listeners ) {
oldValue = this.value;
this.value = value;
if ( ( value == null ) ? oldValue == null : value.equals( oldValue ) ) {
return; // do not fire event if value is not changed
}
int size = this.listeners.size();
if ( size == 0 ) {
return; // do not fire event if there are no any listener
}
listeners = this.listeners.toArray( new PropertyChangeListener[size] );
}
PropertyChangeEvent event = new PropertyChangeEvent( this, null, oldValue, value );
for ( PropertyChangeListener listener : listeners ) {
listener.propertyChange( event );
}
}
public void setValue( Object value ) {
if ( ( value != null ) && !this.type.isInstance( value ) ) {
throw new IllegalArgumentException( "Unsupported value: " + value );
}
Object oldValue;
PropertyChangeListener[] listeners;
synchronized ( this.listeners ) {
oldValue = this.value;
this.value = value;
if ( ( value == null ) ? oldValue == null : value.equals( oldValue ) ) {
return; // do not fire event if value is not changed
}
int size = this.listeners.size();
if ( size == 0 ) {
return; // do not fire event if there are no any listener
}
listeners = this.listeners.toArray( new PropertyChangeListener[size] );
}
PropertyChangeEvent event = new PropertyChangeEvent( this, null, oldValue, value );
for ( PropertyChangeListener listener : listeners ) {
listener.propertyChange( event );
}
}
public void setValue( Object value ) {
if ( ( value != null ) && !this.type.isInstance( value ) ) {
throw new IllegalArgumentException( "Unsupported value: " + value );
}
Object oldValue;
PropertyChangeListener[] listeners;
synchronized ( this.listeners ) {
oldValue = this.value;
this.value = value;
if ( ( value == null ) ? oldValue == null : value.equals( oldValue ) ) {
return; // do not fire event if value is not changed
}
int size = this.listeners.size();
if ( size == 0 ) {
return; // do not fire event if there are no any listener
}
listeners = this.listeners.toArray( new PropertyChangeListener[size] );
}
PropertyChangeEvent event = new PropertyChangeEvent( this, null, oldValue, value );
for ( PropertyChangeListener listener : listeners ) {
listener.propertyChange( event );
}
}
public void setValue( Object value ) {
if ( ( value != null ) && !this.type.isInstance( value ) ) {
throw new IllegalArgumentException( "Unsupported value: " + value );
}
Object oldValue;
PropertyChangeListener[] listeners;
synchronized ( this.listeners ) {
oldValue = this.value;
this.value = value;
if ( ( value == null ) ? oldValue == null : value.equals( oldValue ) ) {
return; // do not fire event if value is not changed
}
int size = this.listeners.size();
if ( size == 0 ) {
return; // do not fire event if there are no any listener
}
listeners = this.listeners.toArray( new PropertyChangeListener[size] );
}
PropertyChangeEvent event = new PropertyChangeEvent( this, null, oldValue, value );
for ( PropertyChangeListener listener : listeners ) {
listener.propertyChange( event );
}
}
/**
* Fires a <code>PropertyChangeEvent</code> when a floatable dockable is closed
* (eg a plugin panel).
*
* @param dockable The dockable that was closed.
*/
private void fireFloatingDockableClosed(DefaultSingleCDockable dockable) {
for (PropertyChangeListener listener : listeners) {
listener.propertyChange(
new PropertyChangeEvent(this, DOCKABLE_CLOSED, dockable, dockable));
}
}
public void propertyChange(PropertyChangeEvent pce) {
PropertyChangeListener pcl = get();
if (pcl == null) {
// The referent listener was GC'ed, we're no longer
// interested in PropertyChanges, remove the listener.
dispose();
} else {
pcl.propertyChange(pce);
}
}
public static void main(String[] args) {
JColorChooser chooser = new JColorChooser(COLOR);
JDialog dialog = Test4177735.show(chooser);
PropertyChangeListener listener = new Test4234761();
chooser.addPropertyChangeListener("color", listener); // NON-NLS: property name
JTabbedPane tabbedPane = (JTabbedPane) chooser.getComponent(0);
tabbedPane.setSelectedIndex(1); // HSB tab index
if (!chooser.getColor().equals(COLOR)) {
listener.propertyChange(null);
}
dialog.dispose();
}
public void propertyChange(PropertyChangeEvent pce) {
PropertyChangeListener pcl = get();
if (pcl == null) {
// The referent listener was GC'ed, we're no longer
// interested in PropertyChanges, remove the listener.
dispose();
} else {
pcl.propertyChange(pce);
}
}
public static void main(String[] args) {
JColorChooser chooser = new JColorChooser(COLOR);
JDialog dialog = Test4177735.show(chooser);
PropertyChangeListener listener = new Test4234761();
chooser.addPropertyChangeListener("color", listener); // NON-NLS: property name
JTabbedPane tabbedPane = (JTabbedPane) chooser.getComponent(0);
tabbedPane.setSelectedIndex(1); // HSB tab index
if (!chooser.getColor().equals(COLOR)) {
listener.propertyChange(null);
}
dialog.dispose();
}
public void propertyChange(PropertyChangeEvent pce) {
PropertyChangeListener pcl = get();
if (pcl == null) {
// The referent listener was GC'ed, we're no longer
// interested in PropertyChanges, remove the listener.
dispose();
} else {
pcl.propertyChange(pce);
}
}
public static void main(String[] args) {
JColorChooser chooser = new JColorChooser(COLOR);
JDialog dialog = Test4177735.show(chooser);
PropertyChangeListener listener = new Test4234761();
chooser.addPropertyChangeListener("color", listener); // NON-NLS: property name
JTabbedPane tabbedPane = (JTabbedPane) chooser.getComponent(0);
tabbedPane.setSelectedIndex(1); // HSB tab index
if (!chooser.getColor().equals(COLOR)) {
listener.propertyChange(null);
}
dialog.dispose();
}
@Override
public void propertyChange(PropertyChangeEvent evt) {
PropertyChangeListener originalListener = this.listenerRef.get();
if (originalListener != null) {
originalListener.propertyChange(evt);
} else {
// the original is gone - unregister explicitly
PropertyChangeAware source = this.sourceRef.get();
if (source != null) {
source.removePropertyChangeListener(this);
}
this.listenerRef = null;
this.sourceRef = null;
}
}
private void firePropertyChangeImpl(Object listeners, String property,
Object oldValue, Object newValue)
{
for (int i = 0; ; ++i) {
Object l = Kit.getListener(listeners, i);
if (l == null)
break;
if (l instanceof PropertyChangeListener) {
PropertyChangeListener pcl = (PropertyChangeListener)l;
pcl.propertyChange(new PropertyChangeEvent(
this, property, oldValue, newValue));
}
}
}
public void propertyChange(PropertyChangeEvent pce) {
PropertyChangeListener pcl = get();
if (pcl == null) {
// The referent listener was GC'ed, we're no longer
// interested in PropertyChanges, remove the listener.
dispose();
} else {
pcl.propertyChange(pce);
}
}
public static void main(String[] args) {
JColorChooser chooser = new JColorChooser(COLOR);
JDialog dialog = Test4177735.show(chooser);
PropertyChangeListener listener = new Test4234761();
chooser.addPropertyChangeListener("color", listener); // NON-NLS: property name
JTabbedPane tabbedPane = (JTabbedPane) chooser.getComponent(0);
tabbedPane.setSelectedIndex(1); // HSB tab index
if (!chooser.getColor().equals(COLOR)) {
listener.propertyChange(null);
}
dialog.dispose();
}
protected void firePropertyChanged(PropertyChangeEvent event) {
for (PropertyChangeListener listener : propertyListeners) {
listener.propertyChange(event);
}
}
@Override
public void propertyChange(PropertyChangeEvent evt) {
for (PropertyChangeListener listener : listeners) {
listener.propertyChange(evt);
}
}
public void firePropertyChanged(String propertyName, Object oldValue, Object newValue) {
PropertyChangeEvent event = new PropertyChangeEvent(this, propertyName, oldValue, newValue);
for (PropertyChangeListener listener : propertyListeners) {
listener.propertyChange(event);
}
}
@Override
public void setValue(Object var1) {
if (var1 != null && !this.type.isInstance(var1)) {
throw new IllegalArgumentException("Unsupported value: " + var1);
}
else {
Object var2;
PropertyChangeListener[] var3;
synchronized (this.listeners) {
label45: {
var2 = this.value;
this.value = var1;
if (var1 == null) {
if (var2 != null) {
break label45;
}
}
else if (!var1.equals(var2)) {
break label45;
}
return;
}
int var5 = this.listeners.size();
if (var5 == 0) {
return;
}
var3 = (PropertyChangeListener[]) this.listeners
.toArray(new PropertyChangeListener[var5]);
}
PropertyChangeEvent var4 = new PropertyChangeEvent(this, (String) null, var2,
var1);
PropertyChangeListener[] var10 = var3;
int var6 = var3.length;
for (int var7 = 0; var7 < var6; ++var7) {
PropertyChangeListener var8 = var10[var7];
var8.propertyChange(var4);
}
}
}
/**
* Fires the matching property change event on the specific component.
*
* @param component
* Component.
* @param propertyName
* Property name.
* @param oldValue
* Old property value.
* @param newValue
* New property value.
*/
public static void firePropertyChangeEvent(JComponent component, String propertyName,
Object oldValue, Object newValue) {
PropertyChangeEvent pce = new PropertyChangeEvent(component, propertyName, oldValue,
newValue);
for (PropertyChangeListener general : component.getPropertyChangeListeners()) {
general.propertyChange(pce);
}
for (PropertyChangeListener specific : component.getPropertyChangeListeners(propertyName)) {
specific.propertyChange(pce);
}
}