j**a swing里如何设置背景图片

时间:2016.04.17 发布人:pqcbb

j**a swing里如何设置背景图片

已解决问题

谷歌pqcbb用户在2016.04.17提交了关于“深圳大学j**a swing里如何设置背景图片”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-10-27T20:13:18。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,当代劳模,所有人都应该向你学习 !

希望以下的回答,能够帮助你。

第1个回答

用户名:quhus  

设置背景图片,可以重写paint()方法。
具体步骤如下:
importj**a.awt.*;
importj**ax.swing.*;
publicclassbkground{
publicstatic认束假以voidmain(Stringargs[]){
BjFramef=newBjFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLO**);
f.setVisible(true);
}
}
classBjFrameextendsJFrame{
pub规承劳需么licstaticfinalintWTh**=300;
publicstaticfinalinth**h**T=200;
publicBjFrame(){
setSize(WTh**,h**h**T);
BjPanelpl=newBjPanel();
ContainercontentPane=getContentPane();
contentPane.add(pl);
pl.setOpaque(true);
}
}
classBjPanelextendsJPa问答nel{
Imageim;
publicBjPanel()
{
im=Toolkit.getDefaultTo剧题坚备员律道olkit().getIm几吃聚设向地米身陆季age("背景.jpg")卷;//需要注意的是如果用相对路径载入图片,则图片文件必须放在类文件所在文件夹或项子银解数列督目的根文件夹中,否则必须用绝对路径。
}
publicvoidpai考完儿板胜问案节ntComponent(Graphicsg){
super.paintComponent(g);
intimWidth=image.getWidth(this);
Intimh**e参地二误速威设余诗此ight=image.geth**eight(this);//定义图片的宽度、高度
intFWidt杀高飞官货怕待见h=getWidth();
intFh**eight=geth**eight();//定义窗口的宽度、高度
intx=(FWidth-imWidth)的传/2;
inty=(F布临现伟宣引上令始注h**eight-imh**eight)/2;//计算图片的坐标,使图片显示在窗口正中间
g.drawImage(image,x,y,**ll);//绘制图片
}
}