我看了一本书叫《Swing Hack》的书,第一次写显示图片的程序,所以就把代码直接搬过来,
代码是:
1:
import java.awt.*;
import javax.swing.*;public class ImageLabel extends JLabel {    public ImageLabel(String img) {
        this(new ImageIcon(img));
    }    public ImageLabel(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));
    }}
2:
import java.awt.*;
import javax.swing.*;public 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));
    }}
3:import java.awt.*;
import javax.swing.*;public class ImagePanel extends JPanel {
    
    private Image img;    public ImagePanel(String img) {
        this(new ImageIcon(img).getImage());
    }    public ImagePanel(Image img) {
        this.img = img;
        Dimension size = new Dimension(img.getWidth(null),img.getHeight(null));
        setPreferredSize(size);
        setMinimumSize(size);
        setMaximumSize(size);
        setSize(size);
        setLayout(null);
        setVisible(true);
    }    public void paintComponent(Graphics g) {
        g.drawImage(img,0,0,null);
    }}
4:
import javax.swing.*;
import java.awt.event.*;public class ImageTest {    public static void main(String[] args) {
        ImagePanel panel = new ImagePanel(new ImageIcon("E:/workplace/HackJComponent/images/background.png").getImage());        
        ImageLabel label = new ImageLabel(new ImageIcon("images/reactor.png"));
        label.setLocation(29,37);
        panel.add(label);
        
        final ImageButton button = new ImageButton("images/button.png");
        button.setPressedIcon(new ImageIcon("images/button-down.png"));
        button.setRolloverIcon(new ImageIcon("images/button-over.png"));
        button.setSelectedIcon(new ImageIcon("images/button-sel.png"));
        button.setRolloverSelectedIcon(new ImageIcon("images/button-sel-over.png"));
        button.setDisabledIcon(new ImageIcon("images/button-disabled.png"));
        button.setDisabledSelectedIcon(new ImageIcon("images/button-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);
        
        
        final JCheckBox checkbox = new JCheckBox("Disable");
        checkbox.setLocation(70,150);
        checkbox.setOpaque(false);
        checkbox.setSize(checkbox.getPreferredSize());
        panel.add(checkbox);
        checkbox.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                button.setEnabled(!checkbox.isSelected());
            }
        });
        
                JFrame frame = new JFrame("Hack #XX: Image Components");
        frame.getContentPane().add(panel);
        frame.pack();
        frame.setVisible(true);
    }
}存图片的images是放在src里的,望大家帮帮忙啊!
小弟先谢过了