Java.util.Observable.hasChanged() Method

Advertisements


Description

The java.util.Observable.hasChanged() method returns if this object has changed.

Declaration

Following is the declaration for java.util.Observable.hasChanged() method

public boolean hasChanged()

Parameters

NA

Return Value

This method returns true if object has changed (by a recent call to setChanged method), otherwise it returns false.

Exception

NA

Example

The following example shows the usage of java.util.Observable.hasChanged() method.

package com.tutorialspoint;

import java.util.Observable;
import java.util.Observer;

class ObservedObject extends Observable {
   private String watchedValue;
   
   public ObservedObject(String value) {
      watchedValue = value;
   }
   
   public void setValue(String value) {
      // if value has changed notify observers
      if(!watchedValue.equals(value)) {
         watchedValue = value;
         
         // mark as value changed
         setChanged();
      }
      
   }
}
public class ObservableDemo implements Observer {
   public String name;
   public ObservableDemo(String name) {
      this.name = name;
   }
   
   public static void main(String[] args) {
      // create watched and watcher objects
      ObservedObject watched = new ObservedObject("Original Value");
      // watcher object listens to object change
      ObservableDemo watcher = new ObservableDemo("Watcher");
      // add observer to the watched object
      watched.addObserver(watcher);

      // trigger value change
      System.out.println("setValue method called...");
      watched.setValue("New Value");
      // check if value has changed
      if(watched.hasChanged())
         System.out.println("Value changed");
      else
         System.out.println("Value not changed");
   }
   
   public void update(Observable obj, Object arg) {
      System.out.println("Update called");
   }
}

Let us compile and run the above program, this will produce the following result:

setValue method called...
Value changed



Advertisements
Advertisements