2
* Created on 16.04.2009
5
package org.jdesktop.test;
7
import java.awt.event.FocusEvent;
8
import java.awt.event.FocusListener;
9
import java.util.Collections;
10
import java.util.LinkedList;
11
import java.util.List;
13
public class FocusEventReport implements FocusListener {
17
* Holds a list of all canceled events.
19
protected List<FocusEvent> canceledEvents = Collections.synchronizedList(new LinkedList<FocusEvent>());
20
protected List<FocusEvent> stoppedEvents = Collections.synchronizedList(new LinkedList<FocusEvent>());
21
protected List<FocusEvent> allEvents = Collections.synchronizedList(new LinkedList<FocusEvent>());
24
//------------------------ implement FocusListener
27
public void focusGained(FocusEvent e) {
28
canceledEvents.add(0, e);
33
public void focusLost(FocusEvent e) {
34
stoppedEvents.add(0, e);
39
//----------------------- utility methods to access all events
41
canceledEvents.clear();
42
stoppedEvents.clear();
46
public int getEventCount() {
47
return allEvents.size();
50
public boolean hasEvents() {
51
return !allEvents.isEmpty();
54
public FocusEvent getLastEvent() {
55
return allEvents.isEmpty()
60
//------------------ access canceled events
61
public int getCanceledEventCount() {
62
return canceledEvents.size();
65
public boolean hasCanceledEvents() {
66
return !canceledEvents.isEmpty();
69
public FocusEvent getLastCanceledEvent() {
70
return canceledEvents.isEmpty()
72
: canceledEvents.get(0);
75
//----------------- access stopped events
77
public int getStoppedEventCount() {
78
return stoppedEvents.size();
81
public boolean hasStoppedEvents() {
82
return !stoppedEvents.isEmpty();
85
public FocusEvent getLastStoppedEvent() {
86
return stoppedEvents.isEmpty()
88
: stoppedEvents.get(0);