ImageTest.java Source code

Java tutorial

Introduction

Here is the source code for ImageTest.java

Source

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));
    }

}