1:
37:
38:
39: package ;
40:
41: import ;
42: import ;
43: import ;
44: import ;
45: import ;
46: import ;
47: import ;
48: import ;
49: import ;
50:
51: import ;
52: import ;
53: import ;
54: import ;
55: import ;
56: import ;
57:
58: public class BasicButtonListener
59: implements MouseListener, MouseMotionListener, FocusListener,
60: ChangeListener, PropertyChangeListener
61: {
62: public BasicButtonListener(AbstractButton b)
63: {
64:
65: }
66:
67: public void propertyChange(PropertyChangeEvent e)
68: {
69: }
70:
71: protected void checkOpacity(AbstractButton b)
72: {
73: }
74:
75: public void focusGained(FocusEvent e)
76: {
77: if (e.getSource() instanceof AbstractButton)
78: {
79: AbstractButton button = (AbstractButton) e.getSource();
80: if (button.isFocusPainted())
81: button.repaint();
82: }
83: }
84:
85: public void focusLost(FocusEvent e)
86: {
87: if (e.getSource() instanceof AbstractButton)
88: {
89: AbstractButton button = (AbstractButton) e.getSource();
90: if (button.isFocusPainted())
91: button.repaint();
92: }
93: }
94:
95: public void installKeyboardActions(JComponent c)
96: {
97: c.getActionMap().put("pressed",
98: new AbstractAction()
99: {
100: public void actionPerformed(ActionEvent e)
101: {
102: AbstractButton button = (AbstractButton) e.getSource();
103: ButtonModel model = button.getModel();
104:
105: model.setArmed(true);
106: model.setPressed(true);
107: }
108: });
109:
110: c.getActionMap().put("released",
111: new AbstractAction()
112: {
113: public void actionPerformed(ActionEvent e)
114: {
115: AbstractButton button = (AbstractButton) e.getSource();
116: ButtonModel model = button.getModel();
117:
118: model.setPressed(false);
119: model.setArmed(false);
120: }
121: });
122: }
123:
124: public void uninstallKeyboardActions(JComponent c)
125: {
126: c.getActionMap().put("pressed", null);
127: c.getActionMap().put("released", null);
128: }
129:
130: public void stateChanged(ChangeEvent e)
131: {
132: }
133:
134: public void mouseMoved(MouseEvent e)
135: {
136: }
137:
138: public void mouseDragged(MouseEvent e)
139: {
140: }
141:
142: public void mouseClicked(MouseEvent e)
143: {
144: }
145:
146:
151: public void mousePressed(MouseEvent e)
152: {
153: if (e.getSource() instanceof AbstractButton)
154: {
155: AbstractButton button = (AbstractButton) e.getSource();
156: ButtonModel model = button.getModel();
157: if (e.getButton() == MouseEvent.BUTTON1)
158: {
159:
160: model.setArmed(true);
161: model.setPressed(true);
162: }
163: }
164: }
165:
166:
173: public void mouseReleased(MouseEvent e)
174: {
175: if (e.getSource() instanceof AbstractButton)
176: {
177: AbstractButton button = (AbstractButton) e.getSource();
178: ButtonModel model = button.getModel();
179: if (e.getButton() == MouseEvent.BUTTON1)
180: {
181:
182: model.setPressed(false);
183: model.setArmed(false);
184: }
185: }
186: }
187:
188:
196: public void mouseEntered(MouseEvent e)
197: {
198: if (e.getSource() instanceof AbstractButton)
199: {
200: AbstractButton button = (AbstractButton) e.getSource();
201: ButtonModel model = button.getModel();
202: if (button.isRolloverEnabled())
203: model.setRollover(true);
204:
205: if (model.isPressed()
206: && (e.getModifiersEx() & InputEvent.BUTTON1_DOWN_MASK) != 0)
207: model.setArmed(true);
208: else
209: model.setArmed(false);
210: }
211: }
212:
213:
220: public void mouseExited(MouseEvent e)
221: {
222: if (e.getSource() instanceof AbstractButton)
223: {
224: AbstractButton button = (AbstractButton) e.getSource();
225: ButtonModel model = button.getModel();
226: if (button.isRolloverEnabled())
227: model.setRollover(false);
228: model.setArmed(false);
229: }
230: }
231: }