Added Event handling to buttons

git-svn-id: svn://sunsvr01.isp.uni-luebeck.de/swproj13/trunk@16 72836036-5685-4462-b002-a69064685172
This commit is contained in:
Matthias Schiffer 2011-04-29 16:25:30 +02:00
parent 5a0be3261a
commit 839e020f4b
9 changed files with 135 additions and 0 deletions

View file

@ -0,0 +1,23 @@
package jrummikub.util;
import java.util.HashSet;
public class Event implements IEvent {
private HashSet<IListener> listeners = new HashSet<IListener>();
@Override
public void add(IListener listener) {
listeners.add(listener);
}
@Override
public void remove(IListener listener) {
listeners.remove(listener);
}
public void fire() {
for (IListener listener : listeners) {
listener.fire();
}
}
}

View file

@ -0,0 +1,23 @@
package jrummikub.util;
import java.util.HashSet;
public class Event1<T> implements IEvent1<T> {
private HashSet<IListener1<T>> listeners = new HashSet<IListener1<T>>();
@Override
public void add(IListener1<T> listener) {
listeners.add(listener);
}
@Override
public void remove(IListener1<T> listener) {
listeners.remove(listener);
}
public void fire(T value) {
for (IListener1<T> listener : listeners) {
listener.fire(value);
}
}
}

View file

@ -0,0 +1,6 @@
package jrummikub.util;
public interface IEvent {
public void add(IListener listener);
public void remove(IListener listener);
}

View file

@ -0,0 +1,6 @@
package jrummikub.util;
public interface IEvent1<T> {
public void add(IListener1<T> listener);
public void remove(IListener1<T> listener);
}

View file

@ -0,0 +1,5 @@
package jrummikub.util;
public interface IListener {
public void fire();
}

View file

@ -0,0 +1,5 @@
package jrummikub.util;
public interface IListener1<T> {
public void fire(T value);
}