1 package com.instantbank.common.uiutils;
2
3 import javax.swing.JButton;
4 import javax.swing.Action;
5 import javax.swing.Icon;
6 import java.awt.Insets;
7 import java.awt.event.MouseListener;
8 import java.awt.event.MouseEvent;
9 import javax.swing.border.Border;
10 import javax.swing.border.BevelBorder;
11 import javax.swing.border.EmptyBorder;
12
13
19 public class SmallButton extends JButton
20 implements MouseListener {
21
22
25 protected Border m_raised;
26
29 protected Border m_lowered;
30
33 protected Border m_inactive;
34
35
36
42 public SmallButton(Action act, String tip) {
43 super((Icon)act.getValue(Action.SMALL_ICON));
44 m_raised = new BevelBorder(BevelBorder.RAISED);
45 m_lowered = new BevelBorder(BevelBorder.LOWERED);
46 m_inactive = new EmptyBorder(2, 2, 2, 2);
47 setBorder(m_inactive);
48 setMargin(new Insets(1, 1, 1, 1));
49 setToolTipText(tip);
50 addActionListener(act);
51 addMouseListener(this);
52 setRequestFocusEnabled(false);
53 }
54
55
56
57
62 public float getAlignmentY() {
63 return 0.5f;
64 }
65
66
67
72 public void mousePressed(MouseEvent e) {
73 setBorder(m_lowered);
74 }
75
76
77
82 public void mouseReleased(MouseEvent e) {
83 setBorder(m_inactive);
84 }
85
86
87
92 public void mouseClicked(MouseEvent e) { }
93
94
95
100 public void mouseEntered(MouseEvent e) {
101 setBorder(m_raised);
102 }
103
104
105
110 public void mouseExited(MouseEvent e) {
111 setBorder(m_inactive);
112 }
113 }
114