package com.limegroup.gnutella.gui; import java.awt.Cursor; import java.awt.Dimension; import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JPanel; /** * This class generates a MagnetMix button to link out to website. */ public final class MagnetButton extends JPanel { private ImageIcon header; private JButton bheader; private ActionListener magnetButtonListener; private MouseAdapter magnetMouseListener; public MagnetButton() { header = GUIMediator.getThemeImage("mm_header"); bheader = new JButton(header); bheader.setOpaque(false); magnetButtonListener = new ActionListener() { public void actionPerformed(ActionEvent e) { GUIMediator.openURL("http://www.MagnetMix.com"); } }; bheader.addActionListener(magnetButtonListener); magnetMouseListener = new MouseAdapter() { //simulate active cursor, we could choose another cursor though public void mouseEntered(MouseEvent e) { e.getComponent().setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR)); } //go back to normal public void mouseExited(MouseEvent e) { e.getComponent().setCursor(Cursor.getDefaultCursor()); } }; bheader.addMouseListener( magnetMouseListener ); zeroInsets(this); adjustSizes(bheader, 176, 23); add(bheader); } private void adjustSizes(JComponent jc, int width, int height) { zeroInsets(jc); setSizes((JButton)jc, width, height); } private static void setSizes(JButton b, int width, int height) { Dimension d = new Dimension(width,height); b.setMaximumSize(d); b.setMinimumSize(d); b.setPreferredSize(d); } private static void zeroInsets(JComponent jc) { Insets insets = jc.getInsets(); insets.left = 0; insets.right = 0; insets.top = 0; insets.bottom = 0; } }