Java中Image类与ImageIcon类的区别

Image类一般尺寸过大,不适合作ImageIcon类。代码示例:

ImageIcon imageIcon = new ImageIcon("duke.gif"); // Icon由图片文件形成

Image image = imageIcon.getImage(); // 但这个图片太大不适合做Icon

// 为把它缩小点,先要取出这个Icon的image ,然后缩放到合适的大小

Image smallImage = image.getScaledInstance(30,20,Image.SCALE_FAST);

// 再由修改后的Image来生成合适的Icon

ImageIcon smallIcon = new ImageIcon(smallImage);

// 最后设置它为按钮的图片

JButton iconButton = new JButton(smallIcon);

而由ImageIcon类到Image类,可以通过:

ImageIcon imageIcon = new ImageIcon("duke.gif"); // Icon由图片文件形成

JFrame jf=null;

jf.setImageIcon(ImageIcon.getImage());