File tree Expand file tree Collapse file tree 3 files changed +9
-5
lines changed
src/main/java/net/lamgc/utils/event Expand file tree Collapse file tree 3 files changed +9
-5
lines changed Original file line number Diff line number Diff line change @@ -84,8 +84,9 @@ public void addHandler(EventHandler handler) throws IllegalAccessException {
8484 * @param handler 要删除的EventHandler对象
8585 */
8686 public void removeHandler (EventHandler handler ){
87- eventHandlerObjectMap .removeHandlerObject (handler );
88- eventHandlerList .removeEventHandler (handler );
87+ if (!eventHandlerObjectMap .removeHandlerObject (handler )){
88+ eventHandlerList .removeEventHandler (handler );
89+ }
8990 }
9091
9192 /**
Original file line number Diff line number Diff line change @@ -24,7 +24,8 @@ public interface EventHandlerObjectMap {
2424 /**
2525 * 删除指定的{@link EventHandler}
2626 * @param handler 要删除的Handler
27+ * @return 如果删除后该EventHandler已空则返回false
2728 */
28- void removeHandlerObject (EventHandler handler );
29+ boolean removeHandlerObject (EventHandler handler );
2930
3031}
Original file line number Diff line number Diff line change @@ -22,7 +22,9 @@ public Set<EventHandler> getHandlerObject(Class<?> eventHandlerClass) {
2222 }
2323
2424 @ Override
25- public void removeHandlerObject (EventHandler handler ) {
26- handlerMap .remove (handler .getClass ());
25+ public boolean removeHandlerObject (EventHandler handler ) {
26+ HashSet <EventHandler > eventHandlers = handlerMap .get (handler .getClass ());
27+ eventHandlers .remove (handler );
28+ return !eventHandlers .isEmpty ();
2729 }
2830}
You can’t perform that action at this time.
0 commit comments