具体方法如下:
利用标签组件来设置,具体代码如下:
JPanelpnlMain=new JPanel()//创建面板pnlMain。
getContentPane().add(pnlMain)//将pnlMain设置为主面板。
Iconi=new ImageIcon("背景.jpg")/*用源图片“背景.jpg”构造一个ImageIcon对象i,需要注意如果图片的路径使用的是相对路径,则图片文件必须放在类文件所在文件夹或项目的根文件夹中,否则图片的路径必须用绝对路径。*/
JLabellblLogo = new JLabel(i)//用指定的图片构造标签对象lb
this.getLayeredPane().add(lb, new Integer(Integer.MIN_VALUE))
//把标签放在第二层JlayerPane上。
lb.setBounds(0, 0,ii.getIconWidth(),i.getIconHeight())
//设置标签的尺寸,即背景图象的大小。
getConentPane().setOpaque(false)/*把内容面板设置为透明,这样整个框架的背景就不再是内容面板的背景色,而是第二层中标签的图像。*/
pnlMain.add(lb)//将标签添加到主面板pnlMain中。
你这只是添加图片,背景图片是用类Graphics实现的~你的代码写法错了,不能直接把图片拿过来用。。。我简单的写了一个,你试试
public class Test2 extends JFrame{
Image image = Toolkit.getDefaultToolkit().getImage("D:\\a.jpg")
Test2(){
repaint()
JPanel p=new JPanel()
JButton jb = new JButton("确定")
p.add(jb)
add(p)
setSize(new Dimension(300,400))
setVisible(true)
}
/**
* 绘制背景图片
*/
public void paint(Graphics g){
g.drawImage(image,0,0,this)
}
public static void main(String[] a){
new Test2()
}
}
首先java画布是一个容器,要在容器里面添加组件或者图片需要先导入或者声明组件然后将组件添加到容器中。
具体实现:
Icon ic=new ImageIcon("load.jpg")
JLabel lb=new JLabel(ic)
JPanel p=new JPanel()
p.add(lb)
这样就可以了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)