
已解决问题
谷歌fan**njie2用户在2013.01.31提交了关于“摩托罗拉j**a怎么给窗体或者面板设置背景图片?”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-10-27T20:13:01。希望大家能够帮助她。详细问题描述及疑问:期待您的答案,希望你能感受到,我最真诚的谢意 !
详细问题描述及疑问:期待您的答案,希望你能感受到,我最真诚的谢意 !
1利用标签组件来设置
标签本来是一种最简单的组件,为什么可以将它设置成为一个窗体的背
JPanelpnlMain=new
Iconi=newImageIc
JLabellb
this.getLayeredPane
//把标签放在第二层J
lb.setBounds(0,0,ii.getIconWidth()
//设置标签的尺寸,即背景图象的大小。
getConentPane().
pnlMain.add(lb);//将标签添加到主面板pnlMain中。
用标签
2通过JPanel面板来设
JPanel面板是
首先定义一个JPa
importj**a.awt.*;
importj**ax.swing.*;
publicclassbkground
{
publicstaticvoidmain(Stringargs[])
{
BjFramef=newBjFrame();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLO**);
f.setVisible(true);
}
}
classBjFrameextendsJFrame
{
publicBjFrame()
{
setSize(WTh**,h**h**T);
BjPanelpl=newBjPanel();
ContainercontentPane=getContentPane();
contentPane.add(pl);
pl.setOpaque(true);
}
publicstaticfinalintWTh**=300;
publicstaticfinalinth**h**T=200;
}
classBjPanelextendsJPanel
{
Imageim;
publicBjPanel()
{
im=Toolkit.getDefaultToolkit().getImage("背景.jpg");//需要注意的是如果用相对路径载入图片,则图片文件必须放在类文件所在文件夹或项目的根文件夹中,否则必须用绝对路径。
}
publicvoidpaintComponent(Graphicsg)
{
super.paintComponent(g);
intimWidth=image.getWidth(this);
Intimh**eight=image.geth**eight(this);//定义图片的宽度、高度
intFWidth=getWidth();
intFh**eight=geth**eight();//定义窗口的宽度、高度
intx=(FWidth-imWidth)/2;
inty=(Fh**eight-imh**eight)/2;//计算图片的坐标,使图片显示在窗口正中间
g.drawImage(image,x,y,**ll);//绘制图片
}
}