java向窗体添加背景图片的方法

小女子java初学者,哪位高手可以给我个最简单的添加图片方法,只是实现添加背景图片功能,不胜感激,在线等!... 小女子java初学者,哪位高手可以给我个最简单的添加图片方法,只是实现添加背景图片功能,不胜感激,在线等! 展开
 我来答
changfang0818
2011-12-23
知道答主
回答量:14
采纳率:0%
帮助的人:19.7万
展开全部
import javax.swing.*;
import javax.imageio.*;
import java.awt.*;
import java.io.*;

public class AddImage {
public static void main(String[] args){
new AddImageFrame();
}
}
class AddImageFrame extends JFrame{
public AddImageFrame(){
super("添加背景图片");
setBounds(200,200,500,400);
setDefaultCloseOperation(this.EXIT_ON_CLOSE);
setVisible(true);
AddImagePanel aip= new AddImagePanel();
add(aip);
}
}

class AddImagePanel extends JPanel{
private Image backgroundimage=null;

public void paintComponent(Graphics g){
super.paintComponent(g);
try{
backgroundimage=ImageIO.read(new File("E:/picture/http_imgload.jpg")).getScaledInstance(getWidth(),getHeight(),Image.SCALE_FAST);
}catch(IOException e){
e.printStackTrace();
}
g.drawImage(backgroundimage,0,0,null);
image.flush();
}
}
这是设置背景图片的简单代码 你要的主要是 backgroundimage=ImageIO.read(new File("E:/picture/http_imgload.jpg")).getScaledInstance(getWidth(),getHeight(),Image.SCALE_FAST);
javax.image包里面有一个类 ImageIO有一个方法read(File string) 读取一个图片文件返回image对象,File会抛出异常,awt包里面的Image有个方法 getScaledstance(width,height,hints) 是缩放图片到多大,intnts是缩放的算法,取Image字段常量,有很多钟算法,你可以取一种,这个程序里图片的大小取的是容纳它的panel面板的大小,会随着面板的变化充满整个面板,这个变化过程要调用面板的 paintComponent()方法来监视,Graphics 中的drawImage(x,y,observer)方法来实现,observer是安全管理器,可以为null,最后绘画完后刷新就可以了,希望对你有帮助,俺也是初学者,交流为上 ,不过我个人还是认为下面的方法比较好
public void setBak() { //设置窗口背景
((JPanel) this.getContentPane()).setOpaque(false);
ImageIcon img = new ImageIcon(getClass().getResource("picture/http_imgload.jpg"));
JLabel background = new JLabel(img);
this.getLayeredPane().add(background, new Integer(Integer.MIN_VALUE));
background.setBounds(0, 0, img.getIconWidth(), img.getIconHeight());
}构造器调用这个方法图片不会缩放,上面的例子 不用缩放的方法也可以做到,就看怎么看了
249257186
2011-12-21
知道答主
回答量:66
采纳率:0%
帮助的人:17.8万
展开全部
background="路径名"可以添加到body或者table标签中
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xidianheyanjun
2011-12-21 · TA获得超过296个赞
知道小有建树答主
回答量:598
采纳率:0%
帮助的人:397万
展开全部
你好。
在JPanel里有个方法setOpaque(),将其设置为false就可以了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2011-12-21
知道答主
回答量:26
采纳率:0%
帮助的人:27.2万
展开全部
使用toolkit方法
Image im=Toolkit.getDefaultToolkit().getImage("img/zx.jpg");
g.drawImage(im,0,0,this);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式