1 21 22 package org.armedbear.j; 23 24 import java.awt.Graphics ; 25 import java.awt.event.ActionEvent ; 26 import java.awt.event.ActionListener ; 27 import java.awt.event.MouseEvent ; 28 import java.awt.event.MouseListener ; 29 import java.net.URL ; 30 import javax.swing.ImageIcon ; 31 import javax.swing.JButton ; 32 33 public final class ToolBarButton extends JButton implements ActionListener , 34 MouseListener 35 { 36 private Frame frame; 37 38 public ToolBarButton(Frame frame, String actionCommand, 39 ActionListener listener) 40 { 41 super(); 42 this.frame = frame; 43 addMouseListener(this); 44 setActionCommand(actionCommand); 45 addActionListener(listener); 46 addActionListener(this); 48 setRequestFocusEnabled(false); 49 } 50 51 public void setIconFromFile(String filename) 52 { 53 if (Utilities.isFilenameAbsolute(filename)) 54 setIcon(new ImageIcon (filename)); 55 else { 56 URL url = Editor.class.getResource("images/" + filename); 57 if (url != null) 58 setIcon(new ImageIcon (url)); 59 } 60 } 61 62 protected void paintBorder(Graphics g) 63 { 64 if (!isRolloverEnabled() || model.isRollover()) 65 super.paintBorder(g); 66 } 67 68 public void actionPerformed(ActionEvent e) 69 { 70 model.setPressed(false); 71 model.setArmed(false); 72 model.setRollover(false); 73 } 74 75 public void mouseClicked(MouseEvent e) {} 76 77 public void mousePressed(MouseEvent e) {} 78 79 public void mouseReleased(MouseEvent e) {} 80 81 public void mouseEntered(MouseEvent e) 82 { 83 frame.setStatusText(this.getToolTipText()); 84 } 85 86 public void mouseExited(MouseEvent e) 87 { 88 frame.setStatusText(""); 89 } 90 } 91 | Popular Tags |