Mega Code Archive

 
Categories / Java by API / Javax Swing
 

Extends JButton

import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class ImageTest {   public static void main(String[] args) {     JPanel panel = new JPanel();     final ImageButton button = new ImageButton("button.png");     button.setPressedIcon(new ImageIcon("down.png"));     button.setRolloverIcon(new ImageIcon("over.png"));     button.setSelectedIcon(new ImageIcon("sel.png"));     button.setRolloverSelectedIcon(new ImageIcon("sel-over.png"));     button.setDisabledIcon(new ImageIcon("disabled.png"));     button.setDisabledSelectedIcon(new ImageIcon("disabled-selected.png"));     button.setLocation(60, 74);     button.addActionListener(new ActionListener() {       public void actionPerformed(ActionEvent evt) {         button.setSelected(!button.isSelected());         System.out.println("selecting");       }     });     // button.setSelected(true);     // button.setDisabled(false);     panel.add(button);     JFrame frame = new JFrame();     frame.getContentPane().add(panel);     frame.pack();     frame.setVisible(true);   } } class ImageButton extends JButton {   public ImageButton(String img) {     this(new ImageIcon(img));   }   public ImageButton(ImageIcon icon) {     setIcon(icon);     setMargin(new Insets(0, 0, 0, 0));     setIconTextGap(0);     setBorderPainted(false);     setBorder(null);     setText(null);     setSize(icon.getImage().getWidth(null), icon.getImage().getHeight(null));   } }