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

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

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

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

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

  

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

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

  

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);
}
}

  

java添加背景图片的更多相关文章

  1. Java怎么添加背景图片

    首先,导入相关的包: import java.awt.BorderLayout; import java.awt.Container; import javax.swing.ImageIcon; im ...

  2. netbeans中给jpanl添加背景图片制定代码的理解——匿名内部类继承父类

    此测试是为了仿照在netbeans中给jpanl添加背景图片的制定代码的执行过程 在JpDemo中定义了个Car类的数据类型,但在给其赋值对象时使用了匿名内部类,继承了Car类,是其子类,并重写了父类 ...

  3. swing-窗体添加背景图片的2种方法

    在美化程序时,常常需要在窗体上添加背景图片.通过搜索和测试,发现了2种有效方式.下面分别介绍.1.利用JLabel加载图片利用JLabel自带的setIcon(Icon icon)加载icon,并设置 ...

  4. GUI的优化操作/添加背景图片等

    一.背景图片的添加这是JAVA中添加背景图片的方式,基本思路先建立一个Label标签,然后建立一个层次的布局,将label标签添加到最下面去. ImageIcon image=new ImageIco ...

  5. swing实现QQ登录界面1.0( 实现了同一张图片只加载一次)、(以及实现简单的布局面板添加背景图片控件的标签控件和添加一个关闭按钮控件)

    swing实现QQ登录界面1.0( 实现了同一张图片只加载一次).(以及实现简单的布局面板添加背景图片控件的标签控件和添加一个关闭按钮控件) 代码思路分析: 1.(同一张图片仅仅需要加载一次就够了,下 ...

  6. 如何在使用itext生成pdf文档时给文档添加背景图片

    这个问题我在网上搜了很久,没有找到什么解决方案,需求其实很简单,就是添加背景图片.在解决这个问题之前,我们需要了解什么是背景图片?背景图片就是位于文档最底层的图片,文字和其他内容可以浮在它的上面.这又 ...

  7. C#(winform)为button添加背景图片

    1.既然是添加背景图片 所以这里应该使用 Button.BackgroudImage = "" ;来设置图片 而不应该使用  Button.Image = "" ...

  8. iOS 中 为UIView添加背景图片

    创建UIImage的方法有两种: UIImage *image = [UIImageimageNamed:@"image.jpg"];//这种不释放内存,要缓存 NSString ...

  9. [BS-29] 给UIView添加背景图片

    给UIView添加背景图片 //默认情况下只能设置UIView的背景颜色,不能给UIView设置背景图片,但通过绘图知识可以做到 - (void)drawRect:(CGRect)rect { [su ...

随机推荐

  1. linux下firefox显示中文乱码的问题

    只需要yum install "@Chinese Support" 然后注销,再登录一下,刷新浏览器就可以正常显示中文了,当然前提是浏览器的字符编码为utf-8以及默认显示中文,这 ...

  2. b树的实现(c++)

    转自:http://blog.chinaunix.net/uid-20196318-id-3030529.html B树的定义 假设B树的度为t(t>=2),则B树满足如下要求:(参考算法导论) ...

  3. InnoDB并发事务

    ​目录 1.行锁:索引加锁 2.意向锁 3.间隙锁 4.MVCC机制 行锁 InnoDB通过多版本并发控制MVCC来支持事务 InnoDB的设计是为了在处理大数据量的时候得到最好的性能.InnoDB存 ...

  4. FreeDOS 实模式 保护模式

    FreeDOS可以运行在实模式或保护模式下,在启动FreeDOS时有4种运行模式选择: 前两种运行在保护模式下, 后两种运行在实模式下. 根据How to tell whether your CPU ...

  5. 经典分水岭算法的 C++ 实现

    这个程序是研一下学期的计算机视觉课程大作业,完成于 2013/06/16,是对 Soille 和 Vincent(1991)提出的模拟浸没的分水岭算法的实现,详见下面的报告. 源码托管在 Github ...

  6. Linux下安装scrapy包出错

    pip install -i https://pypi.douban.com/simple/ scrapy 出现错误: error: command 将依赖包装全. sudo apt-get inst ...

  7. 使用ES6的Promise 解决回调函数。

    //创建一个Promise实例,获取数据.并把数据传递给处理函数resolve和reject.需要注意的是Promise在声明的时候就执行了. var getUserInfo=new Promise( ...

  8. 唯一id UUID

    public static String getUUID() { String s = UUID.randomUUID().toString(); return s.substring(0, 8) + ...

  9. GridView的简单使用

    测试代码: activity_main.xml: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/a ...

  10. Spring_总结_02_依赖注入

    一.前言 本文承接上一节:Spring_总结_01_Spring概述 在上一节中,我们了解了Spring的最根本使命.四大原则.六大模块以及Spring的生态. 这一节我们开始了解Spring的第二大 ...