我看了一本书叫《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里的,望大家帮帮忙啊!
小弟先谢过了
代码是:
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里的,望大家帮帮忙啊!
小弟先谢过了
ImageIcon icon = new ImageIcon(ImageTest.class.getClassLoader.getResource("images/button.png"))试试