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

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

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

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

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

  

  1. frame.getcontantpane().add(new JButton(""3424));
  2.  
  3. frame.getcontantpane().add(new JTextFiled(32));

  

  1. import javax.swing.JFrame;
  2. import java.awt.Container;
  3. import java.awt.FlowLayout;
  4. //添加按钮。按钮不覆盖背景
  5. import javax.swing.ImageIcon;
  6. import javax.swing.JLabel;
  7. import javax.swing.JPanel;
  8. import javax.swing.JButton;
  9. import java.awt.BorderLayout;
  10.  
  11. public class cd {
  12.  
  13. public static void main(String[] args) {
  14. JFrame frame = new JFrame();
  15. Container c = new Container();
  16. ImageIcon image = new ImageIcon("D:\\21.jpg");
  17. JLabel imagelabel = new JLabel(image);
  18. imagelabel.setBounds(0, 0, image.getIconWidth(), image.getIconHeight());
  19. frame.getLayeredPane().add(imagelabel, new Integer(Integer.MIN_VALUE));
  20. // ((JPanel)frame.getContentPane()).setOpaque(false);
  21. // ((JPanel)c).setOpaque(false);
  22. JPanel panel = (JPanel) frame.getContentPane();// 面板窗格化
  23. panel.setOpaque(false);
  24. // 一下是很重要的两行。
  25. panel.setLayout(new FlowLayout());// 这里需要重新排列位置//一定要排在JPanel的后面,否则组件被覆盖
  26. panel.add(new JButton("fsa"));// 添加按钮组件
  27. frame.getContentPane().add(new JButton("娃娃"));
  28. frame.getContentPane().add(new JButton("lll"));
  29. frame.setBounds(0, 0, image.getIconWidth(), image.getIconHeight());
  30. frame.setVisible(true);
  31. // 默人是网格布局、不排列位置,组件会填充整个容器
  32. // frame.setLayout(null);
  33. frame.setLocationRelativeTo(null);
  34. frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  35. }
  36. }

  

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. window 下安装并启动zookeeper

    1.下载zookeeper压缩包并解压大到磁盘中: 2.进入解压文件的: 3.进入conf,修改配置文件如下: 4.启动: 启动完成:

  2. iOS APP AppIcon& LaunchImage

    AppIcon size for iPhone: 29 - Settings @1x 29*29,  58 - Settings @2x 58*58, 87 - Settings @3x 87*87 ...

  3. Linux嵌入式 -- 内核 (arm) & 文件系统

    1. make distclean 2. 配置内核  ----> 生成 .config文件 make menuconfig ARCH=arm Makefile文件分析: 3.  编译内核 mak ...

  4. 虚拟机CentOS6.5网络配置

    不得不说  6.5比7.0麻烦了许多.. 编辑ifcfg配置文件 vi /etc/sysconfig/network-script/ifcfg-eth0 内容如下 DEVICE=eth0 HWADDR ...

  5. Spring Boot入门——Redis

    1.添加redis相关依赖 2.application.properties增加redis的相关属性 3.编写redisConfig进行redis配置 4.编写测试类redisService.redi ...

  6. Composer如何安装(安装注意事项)

    Composer如何安装(安装注意事项) 一.总结 一句话总结:安装的时候主要看安装错误提示: 常见的错误有: a.php需要开启openssl配置.我们打开php目录下的php.ini.将opens ...

  7. SQL Server 2016 —— 聚集列存储索引的功能增强

    作者 Jonathan Allen,译者         邵思华         发布于     2015年6月14日   聚集列存储索引(CC Index)是SQL Server 2014中两大最引 ...

  8. Visual Studio for Mac 安装

    有一周时间没有更新博客了,最近这段时间真是苦不堪言,上周四晚上,一杯水将我的MBP报废掉了,开机状态,键盘进水,当场就关机了,很担心当时爆炸了,幸好还只是关机,然后就...没有然后了.第二天插电源可以 ...

  9. CodeForces 103D Time to Raid Cowavans 分块+dp

    先对b从小到大sort,判断b是不是比sqrt(n)大,是的话就直接暴力,不是的话就用dp维护一下 dp[i]表示以nb为等差,i为起点的答案,可以节省nb相同的情况 #include<bits ...

  10. Nodejs调试技术总结

    调试技术与开发技术构成了软件开发的基石.目前Nodejs作为新型的Web Server开发栈倍受开发者关注.总的来说Nodejs的应用程序主要有两部分:JavaScript编写的js模块和C语言编译的 ...