1 package com.instantbank.common.uiutils;
2
3 import javax.swing.JToggleButton;
4 import javax.swing.ImageIcon;
5 import java.awt.Insets;
6 import java.awt.event.ItemListener;
7 import java.awt.event.ItemEvent;
8 import javax.swing.border.Border;
9 import javax.swing.border.BevelBorder;
10
11
17 public class SmallToggleButton extends JToggleButton
18 implements ItemListener {
19
20
23 protected Border m_raised;
24
27 protected Border m_lowered;
28
29
30
38 public SmallToggleButton(boolean selected, ImageIcon imgUnselected,
39 ImageIcon imgSelected, String tip) {
40 super(imgUnselected, selected);
41 setHorizontalAlignment(CENTER);
42 setBorderPainted(true);
43 m_raised = new BevelBorder(BevelBorder.RAISED);
44 m_lowered = new BevelBorder(BevelBorder.LOWERED);
45 setBorder(selected ? m_lowered : m_raised);
46 setMargin(new Insets(1, 1, 1, 1));
47 setToolTipText(tip);
48 setRequestFocusEnabled(false);
49 setSelectedIcon(imgSelected);
50 addItemListener(this);
51 }
52
53
54
59 public float getAlignmentY() {
60 return 0.5f;
61 }
62
63
64
69 public void itemStateChanged(ItemEvent e) {
70 setBorder(isSelected() ? m_lowered : m_raised);
71 }
72 }
73