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

import java.awt.*

import java.net.URL

import javax.swing.*

import java.awt.Dimension

import java.awt.Container

import java.awt.GridLayout

import javax.swing.ImageIcon

import java.awt.event.*

public class Example1 extends JFrame{

public static void main(String[] args){

JFrame jf=new JFrame("系统乱颂登录")

JPanel jpanel = new JPanel()

jf.setContentPane(jpanel)

//设置窗口在屏幕中居中显示

double width = Toolkit.getDefaultToolkit().getScreenSize().getWidth()

double height = Toolkit.getDefaultToolkit().getScreenSize().getHeight()

int x=(int)(width-300)/2

int y=(int)(height-180)/2

jf.setBounds(x,y,300,180)

//添加标签组件

GridLayout gird = new GridLayout(3,0)

JPanel jpanel1=new JPanel()

JPanel jpanel2=new JPanel()

JPanel jpanel3=new JPanel()

jpanel.setLayout(gird)

jpanel.add(jpanel1)

jpanel.add(jpanel2)

jpanel.add(jpanel3)

ImageIcon img = new ImageIcon("111.png")

JLabel imgLabel = new JLabel(img)//将背景图放在标签里。

jf.getLayeredPane().add(imgLabel, new Integer(Integer.MIN_VALUE))

imgLabel.setBounds(0,0,img.getIconWidth(), img.getIconHeight())

JLabel name=new JLabel("姓 名:")

JTextField nametext=new JTextField(10)

JLabel pwd=new JLabel("密 码:")

JPasswordField pwd1=new JPasswordField(10)

JButton login=new JButton("登录")

JButton exit=new JButton("退出")

jpanel1.add(name)

jpanel1.add(nametext)

jpanel2.add(pwd)

jpanel2.add(pwd1)

jpanel3.add(login)

jpanel3.add(exit)

jf.getLayeredPane().setLayout(null)

jf.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE)

jpanel.setOpaque(false)

jpanel1.setOpaque(false)

jpanel2.setOpaque(false)

jpanel3.setOpaque(false)

jf.setVisible(true)

}

}

那个图悄陪唯片 "111.png"你放启培到你创建的项目的文件夹里就行 测试成功

import java.awt.FlowLayout

import javax.swing.ImageIcon

import javax.swing.JButton

import javax.swing.JFrame

import javax.swing.JLabel

import javax.swing.JPanel

public class bj {

private JFrame frame = new JFrame("局核背景图片测试")

private JPanel imagePanel

private ImageIcon background

public static void main(String[] args) {

new bj()

}

public bj() {

background = new ImageIcon("C:\\Users\\xin.wen\\Pictures\\2.jpg"盯陵)// 背景图片

JLabel label = new JLabel(background)// 把背景图片显示在一个标签凯腊戚里面

// 把标签的大小位置设置为图片刚好填充整个面板

label.setBounds(0, 0, background.getIconWidth(),

background.getIconHeight())

// 把内容窗格转化为JPanel,否则不能用方法setOpaque()来使内容窗格透明

imagePanel = (JPanel) frame.getContentPane()

imagePanel.setOpaque(false)

// 内容窗格默认的布局管理器为BorderLayout

imagePanel.setLayout(new FlowLayout())

imagePanel.add(new JButton("测试按钮"))

frame.getLayeredPane().setLayout(null)

// 把背景图片添加到分层窗格的最底层作为背景

frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE))

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

frame.setSize(background.getIconWidth(), background.getIconHeight())

frame.setResizable(false)

frame.setVisible(true)

}

}


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存