1 package org.ozoneDB.adminGui.feature; 2 3 import org.ozoneDB.adminGui.res.Settings; 4 5 import javax.swing.*; 6 import java.awt.event.MouseListener ; 7 import java.awt.event.ActionListener ; 8 import java.awt.event.MouseEvent ; 9 import java.awt.*; 10 11 15 public abstract class ActionBar extends JPanel { 16 17 public static final int WIDTH = 90; 18 protected static final Dimension DIMENSION = new Dimension(WIDTH, Settings.FEATURE_HEIGHT); 19 20 protected GridBagConstraints gbc = new GridBagConstraints(); 21 22 public ActionBar() { 23 this.setPreferredSize(DIMENSION); 24 this.setLayout(new GridBagLayout()); 25 } 26 27 protected class ActionButton extends JButton implements MouseListener { 28 29 JLabel icon; 30 JLabel label; 31 private final Dimension ICON_SIZE = new Dimension(40, 40); 32 33 public ActionButton(String text, String image, ActionListener listener) { 34 35 this.setLayout(new GridLayout(2, 1)); 36 this.setToolTipText(text); 38 this.setBorder(BorderFactory.createEtchedBorder(Settings.COLOR_COBALT, Color.LIGHT_GRAY)); 39 this.setBorderPainted(false); 40 this.setFocusPainted(false); 41 this.addActionListener(listener); 42 this.setMargin(new Insets(4, 2, 3, 2)); 43 this.addMouseListener(this); 44 this.setVerticalAlignment(SwingConstants.CENTER); 45 this.setHorizontalAlignment(SwingConstants.CENTER); 46 47 icon = new JLabel(new ImageIcon(this.getClass().getResource(image))); 48 icon.setPreferredSize(ICON_SIZE); 49 50 label = new JLabel(text); 51 label.setVerticalTextPosition(SwingConstants.TOP); 52 label.setHorizontalAlignment(SwingConstants.CENTER); 53 54 this.add(icon); 55 this.add(label); 56 } 57 58 public ActionButton(String text, String image, ActionListener listener, String toolTip) { 59 this(text, image, listener); 60 this.setToolTipText(toolTip); 61 } 62 63 public void mouseEntered(MouseEvent me) { 64 this.setBorderPainted(true); 65 } 66 67 public void mouseExited(MouseEvent me) { 68 this.setBorderPainted(false); 69 } 70 71 public void mouseClicked(MouseEvent e) { 72 } 73 74 public void mousePressed(MouseEvent e) { 75 } 76 77 public void mouseReleased(MouseEvent e) { 78 } 79 } 80 81 } 82 | Popular Tags |