在GUI编程过程中,经常会自定义一个图片,通过一些练习,总结了几种自定义图片的格式:
(1)如果是对JFrame类中添加标题栏的图片,可以使用如下方式:
Toolkit tk=new Toolkit.getDefaultToolkit();
Image img=tk.createImage(" 图片的存放地址");
this.setIconImage(img);
(2)如果在JPanel类中,需要先声明一个JLabel引用型的标签label,然后再向label中添加图片,格式为:
this.label=new JLabel(new ImageIcon("图片的存放地址"));
(3)不管是在JFrame类中,还是在JPanel类中,都可以通过ImageIcon对象.getIcon()来添加图片,但是两种类中有些区别,具体格式如下:
对于JFame类:先使用ImageIcon构造器传入指定的文件创建一个ImageIcon图像图标,再通过getImage()方法返回此图标的Image。,以此作为此窗口图标所要显示的图像。
this.setIconImage(new ImageIcon("图片的存放位置").getImage());
而对于JPanel类:先得到Image引用型的图像,在通过paintComponent()方法重写父类的方法.即:
Image image=new ImageIcon("img/background.jpg").getImage();
protected void paintComponent(Graphics g){ //自定义一个方法
super.paintComponent(g);
g.drawImage(image, 0, 0, this); //this指的是当前面
}
同时,ImageIcon 对象和Image对象之间可以相互转化.
如果ImageIcon --> Image ,利用getImage();如:
private ImageIcon imgicon;
private Image image=imgicon.getImage();
如果Image --> ImageIcon,利用new ImageIcon(" ");如:
ImageIcon im=new ImageIcon("image");