1 package com.jpeterson.virtlcd.swing;
2
3 import javax.swing.event.ChangeEvent;
4 import javax.swing.event.ChangeListener;
5 import javax.swing.event.EventListenerList;
6
7
8
9
10
11
12 public class DefaultDotMatrixDisplayModel implements DotMatrixDisplayModel {
13
14 protected EventListenerList listenerList = new EventListenerList();
15
16 private String text = "";
17
18 public String getText() {
19 return text;
20 }
21
22 public void setText(String text) {
23 if (!this.text.equals(text)) {
24 this.text = text;
25 fireStateChanged();
26 }
27
28 }
29
30 public void addChangeListener(ChangeListener l) {
31 listenerList.add(ChangeListener.class, l);
32 }
33
34 public void removeChangeListener(ChangeListener l) {
35 listenerList.remove(ChangeListener.class, l);
36 }
37
38
39
40
41
42 protected void fireStateChanged() {
43 ChangeEvent event = new ChangeEvent(this);
44 Object[] listeners = listenerList.getListenerList();
45 for (int i = listeners.length - 2; i >= 0; i -= 2) {
46 if (listeners[i] == ChangeListener.class) {
47 ((ChangeListener) listeners[i + 1]).stateChanged(event);
48 }
49 }
50 }
51
52
53
54
55
56
57
58
59
60
61
62 public ChangeListener[] getChangeListeners() {
63 return (ChangeListener[]) listenerList
64 .getListeners(ChangeListener.class);
65 }
66 }