怎么为Java程序添加背景图片代码?

怎么为Java程序添加背景图片代码?,第1张

仅仅是给窗口添加背景的话是很简单的,添加上以下语句(自己去添加变量哈):\x0d\x0a\x0d\x0alabel = new JLabel(background)//background为ImageIcon\x0d\x0a// 把标签的大小位置设置为图片刚好填充整个面板 \x0d\x0alabel.setBounds(0, 0, this.getWidth(), this.getHeight())\x0d\x0a//添加图片到frame的第二层(把背景图片添加到分层窗格的最底层作为背景)\x0d\x0athis.getLayeredPane().add(label,new Integer(Integer.MIN_VALUE))\x0d\x0a//把内容窗格转化为JPanel,否则不能用方法setOpaque()来使内容窗格透明\x0d\x0ajPanel=(JPanel)this.getContentPane()\x0d\x0a//设置透明\x0d\x0ajPanel.setOpaque(false)\x0d\x0a\x0d\x0a然后你上面那个JPanel p也设置成透明就可以了

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)

}

}


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

原文地址: https://www.outofmemory.cn/tougao/10968724.html

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

发表评论

登录后才能评论

评论列表(0条)

保存