java 添加图片背景_java添加背景图片

本文探讨了在Java Swing中遇到的问题,即如何在背景图片上添加按钮组件而不覆盖图片。关键在于理解布局管理器的作用和使用`setLayeredPane()`方法。通过设置组件的层级和使用`FlowLayout`布局,可以确保按钮显示在图片之上且位置正确。示例代码展示了具体实现方法。
摘要由CSDN通过智能技术生成

总结:我们通常实现添加背景图片很容易,但是再添加按钮组件就会覆盖图片。原因是:

有先后啊。setlayout();与布局有很大关系

请调试代码的时候,仔细揣摩。我晕了

还可以添加文本框,密码框

frame.getcontantpane().add(new JPasswordField(15));

frame.getcontantpane().add(new JButton(""3424));

frame.getcontantpane().add(new JTextFiled(32));

0b89519dab1898556eb545eb409dd259.png

import javax.swing.JFrame;

import java.awt.Container;

import java.awt.FlowLayout;

//添加按钮。按钮不覆盖背景

import javax.swing.ImageIcon;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JButton;

import java.awt.BorderLayout;

public class cd {

public static void main(String[] args) {

JFrame frame = new JFrame();

Container c = new Container();

ImageIcon image = new ImageIcon("D:\\21.jpg");

JLabel imagelabel = new JLabel(image);

imagelabel.setBounds(0, 0, image.getIconWidth(), image.getIconHeight());

frame.getLayeredPane().add(imagelabel, new Integer(Integer.MIN_VALUE));

// ((JPanel)frame.getContentPane()).setOpaque(false);

// ((JPanel)c).setOpaque(false);

JPanel panel = (JPanel) frame.getContentPane();// 面板窗格化

panel.setOpaque(false);

// 一下是很重要的两行。

panel.setLayout(new FlowLayout());// 这里需要重新排列位置//一定要排在JPanel的后面,否则组件被覆盖

panel.add(new JButton("fsa"));// 添加按钮组件

frame.getContentPane().add(new JButton("娃娃"));

frame.getContentPane().add(new JButton("lll"));

frame.setBounds(0, 0, image.getIconWidth(), image.getIconHeight());

frame.setVisible(true);

// 默人是网格布局、不排列位置,组件会填充整个容器

// frame.setLayout(null);

frame.setLocationRelativeTo(null);

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值