JAVA界面设计怎么插入背景图片?

JAVA界面设计怎么插入背景图片?,第1张

可以利用标签组件来设置。

具体方法如下:

利用标签组件来设置,具体代码如下:

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中。

JPanel jp=new JPanel()://定义面板并初始化

Icon iocn=new ImageIcon("C:/My Documents/tupian.jpg")//定义图片并初始化,写上图片的绝对路径

JLabel jl=new JLabel(icon)://把图片放在标签上

jp.add(jl)//往面板上添加标签注意:面板JPanel不能之间添加图片iocn,icon需要放在标签JLabel上,才能在JPanel上显示

import java.awt.event.*

import javax.swing.*

public class MainJFrame extends JFrame{

private ImageJPanel ip

public MainJFrame() {

initial()

}

public void initial()

{

ip=new ImageJPanel()

this.setTitle("Demo")

this.setSize(400,300)

this.setResizable(false)

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

this.setLocationRelativeTo(this)

Container c=this.getContentPane()

c.setLayout(null)

ip.setBounds(0,0,this.getWidth(),this.getHeight())

c.add(ip)

this.setVisible(true)

}

public static void main(String[] args)

{

new MainJFrame()

}

}

class ImageJPanel extends JPanel

{

private ImageIcon ii

public ImageJPanel()

{

//bk.jpg是指背景图片的名称 ii=new ImageIcon("bk.jpg")

}

//绘制背景图片 public void paintComponent(Graphics g)

{

super.paintComponent(g)

g.drawImage(ii.getImage(),0,0,this)

}

}

可以新建个面板,在面板里放入带图片的JLabel,填满面板即可。

JPanel jp = new JPanel()//新建面板

jp.setLayout(new FlowLayout()) //设置面板布局

ImageIcon ii=new ImageIcon(getClass().getResource("/Picture/i.jpg"))

JLabel uppicture=new JLabel(ii)//往面板里加入JLabel

this.setVisible(true)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11864221.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存