1 package org.catacomb.graph.gui; 2 3 import org.catacomb.icon.IconLoader; 4 import org.catacomb.interlish.structure.IntActor; 5 6 7 import java.awt.Color; 8 import java.awt.event.ActionEvent; 9 import java.awt.event.ActionListener; 10 11 import javax.swing.Icon; 12 import javax.swing.JRadioButton; 13 14 15 16 public class IconButton extends JRadioButton implements ActionListener { 17 static final long serialVersionUID = 1001; 18 IntActor intActor; 19 int action; 20 21 Color cbg; 22 Color csel; 23 24 public IconButton(String iconName, int iact, IntActor actor) { 25 super(); 26 27 cbg = new Color(200, 200, 200); 28 setBackground(cbg); 29 30 intActor = actor; 31 action = iact; 32 33 Icon icon = IconLoader.createImageIcon(iconName); 34 setIcon(icon); 35 36 37 setToolTipText(iconName); 38 39 addActionListener(this); 40 41 attachRollover(); 42 } 43 44 45 public void setBg(Color c) { 46 cbg = c; 47 setBackground(c); 48 } 49 50 public void attachRollover() { 51 52 53 RolloverEffect rollover = new RolloverEffect(this, 54 RolloverEffect.ETCHED_DOWN, 55 RolloverEffect.ETCHED_UP); 56 addMouseListener(rollover); 57 } 58 59 60 61 62 public void actionPerformed(ActionEvent aev) { 63 intActor.intAction(action); 64 } 65 66 67 68 69 70 }