本文整理了Java中java.util.Observable
类的一些代码示例,展示了Observable
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Observable
类的具体详情如下:
包路径:java.util.Observable
类名称:Observable
[英]Observable is used to notify a group of Observer objects when a change occurs. On creation, the set of observers is empty. After a change occurred, the application can call the #notifyObservers() method. This will cause the invocation of the update() method of all registered Observers. The order of invocation is not specified. This implementation will call the Observers in the order they registered. Subclasses are completely free in what order they call the update methods.
[中]Observable用于在发生更改时通知一组观察者对象。创建时,观察者集为空。发生更改后,应用程序可以调用#notifyObservators()方法。这将导致对所有注册的观察者调用update()方法。没有指定调用顺序。此实现将按照观察员注册的顺序调用他们。子类完全不受它们调用更新方法的顺序限制。
代码示例来源:origin: stackoverflow.com
import java.util.Observable;
import java.util.Observer;
public class Heraclitus implements Observer {
public void observe(Observable o) {
o.addObserver(this);
}
@Override
public void update(Observable o, Object arg) {
int someVariable = ((Flux) o).getSomeVariable();
System.out.println("All is flux! Some variable is now " + someVariable);
}
}
代码示例来源:origin: stackoverflow.com
import java.util.Observable;
public class Flux extends Observable {
private int someVariable = 0;
public void setSomeVariable(int someVariable) {
synchronized (this) {
this.someVariable = someVariable;
}
setChanged();
notifyObservers();
}
public synchronized int getSomeVariable() {
return someVariable;
}
}
代码示例来源:origin: sd4324530/fastweixin
/**
* 移除配置变化监听器
*
* @param handle 监听器
*/
public void removeHandle(final ApiConfigChangeHandle handle) {
super.deleteObserver(handle);
}
代码示例来源:origin: robovm/robovm
/**
* If {@code hasChanged()} returns {@code true}, calls the {@code update()}
* method for every Observer in the list of observers using the specified
* argument. Afterwards calls {@code clearChanged()}.
*
* @param data
* the argument passed to {@code update()}.
*/
@SuppressWarnings("unchecked")
public void notifyObservers(Object data) {
int size = 0;
Observer[] arrays = null;
synchronized (this) {
if (hasChanged()) {
clearChanged();
size = observers.size();
arrays = new Observer[size];
observers.toArray(arrays);
}
}
if (arrays != null) {
for (Observer observer : arrays) {
observer.update(this, data);
}
}
}
代码示例来源:origin: stackoverflow.com
model.addObserver(this);
this.notifyObservers(...);
代码示例来源:origin: stackoverflow.com
Observable observable = observables.get(notification);
if (observable==null) {
observable = new Observable();
observables.put(notification, observable);
observable.addObserver(observer);
Observable observable = observables.get(notification);
if (observable!=null) {
observable.deleteObserver(observer);
Observable observable = observables.get(notification);
if (observable!=null) {
observable.setChanged();
observable.notifyObservers(object);
代码示例来源:origin: stackoverflow.com
this.add(label, BorderLayout.CENTER);
this.add(genButtonPanel(), BorderLayout.SOUTH);
model.addObserver(new ModelObserver());
setChanged();
notifyObservers();
setChanged();
notifyObservers(guess.equals(hidden));
代码示例来源:origin: stackoverflow.com
public class Connect extends Observable {
Connection conn;
public Connect(Observer o) {
addObserver(o);
}
public void getConnection() {
// TODO getConnection
hasChanged();
notifyObservers();
}
public void closeConnection() {
// TODO closeConnection
hasChanged();
notifyObservers();
}
}
代码示例来源:origin: stackoverflow.com
private Observable observable = new Observable();
public void addObserver(Observer o) {
observable.addObserver(o);
}
public void notifyObservers() {
observable.notifyObservers();
}
代码示例来源:origin: triplea-game/triplea
private void notifyObs() {
super.setChanged();
super.notifyObservers(gameData);
super.clearChanged();
}
代码示例来源:origin: stackoverflow.com
public class Student extends Observable {
private int age;
Student(int age) {
this.age = age;
}
public int getAge() {
return age;
}
public void setAge(int age) {
if (this.age != age) {
setChanged();
}
this.age = age;
if (hasChanged()) {
notifyObservers();
}
}
@Override
public String toString() {
return "Student [age=" + age + "]";
}
}
代码示例来源:origin: robovm/robovm
/**
* If {@code hasChanged()} returns {@code true}, calls the {@code update()}
* method for every observer in the list of observers using null as the
* argument. Afterwards, calls {@code clearChanged()}.
* <p>
* Equivalent to calling {@code notifyObservers(null)}.
*/
public void notifyObservers() {
notifyObservers(null);
}
代码示例来源:origin: org.fujion/fujion-core
@Override
public void setModel(M model) {
if (this.model instanceof Observable) {
((Observable) this.model).deleteObserver(this);
}
this.model = model;
modelChanged(null);
targetChanged(null);
if (this.model instanceof Observable) {
((Observable) this.model).addObserver(this);
}
}
代码示例来源:origin: org.apache.poi/poi
void checkForLocaleChange(Locale newLocale) {
if (!localeIsAdapting) return;
if (newLocale.equals(locale)) return;
super.setChanged();
notifyObservers(newLocale);
}
}
代码示例来源:origin: io.github.oliviercailloux.jmcda/utils
@Override
public synchronized void clearChanged() {
super.clearChanged();
}
}
代码示例来源:origin: stackoverflow.com
public void update(Observable o, Object arg)
{
if(o.hasChanged())
{
// do something
}
}
代码示例来源:origin: stackoverflow.com
public class MyLoader extends AsyncTaskLoader<Something> {
private Observable mObservable = new Observable();
synchronized void addObserver(Observer observer) {
mObservable.addObserver(observer);
}
synchronized void deleteObserver(Observer observer) {
mObservable.deleteObserver(observer);
}
@Override
public void loadInBackground(CancellationSignal signal)
{
for (int i = 0;i < 100;++i)
mObservable.notifyObservers(new Integer(i));
}
}
代码示例来源:origin: stackoverflow.com
import java.util.Observable;
public class Achievement extends Observable {
public static class AchievementDetails {}
public Achievement() {
addObserver(EventsListener.getInstance());
}
public void achievementReached() {
AchievementDetails achievemetDetails = null;
setChanged();
notifyObservers(achievemetDetails);
}
}
代码示例来源:origin: BruceEckel/OnJava8-Examples
OCBox(int x, int y, Observable notifier) {
this.x = x;
this.y = y;
notifier.addObserver(this);
this.notifier = notifier;
addMouseListener((MouseClick)
e -> notifier.notifyObservers(OCBox.this));
}
@Override
代码示例来源:origin: stackoverflow.com
if(!changing && hasChanged()){
notifyObservers();
setChanged();
if(!changing){
notifyObservers();
内容来源于网络,如有侵权,请联系作者删除!