怎么说呢,一开始整个系统的功能实现完我是很开心的,想着完善下系统的布局和整体背景,准备从登录界面开始下手(嘿嘿)
从优化布局这块,看了会资料和视频学会了Spring布局,整理了下登陆的界面的布局,感觉还行,又加了个原神的图标给这个登录UI,很有成就感!
but!
当我开始着手背景的设置的时候,我被一直误导进了一个错误的方向----也不能说完全错误
网路上绝大多数的方法都是使用JLayeredPane()进行背景图片的插入,大体思路是创建一个JPanel,再往JPanel里插入放入图片的ImageIcon,然后使用JLayeredPane.add(插入了对应JLabel的Jpanel,JLayeredPane.DEFAULT_LAYER----放到最低层),再把本身的container使用
JLayeredPane.add(插入了对应JLabel的Jpanel,JLayeredPane.MODAL_LAYER----中层)
关于显示层可以参考博客(54条消息) JavaSwing_3.5: JLayeredPane(层级面板)_XTS的专栏-CSDN博客_jlayeredpane
但是但是但是!
大多数博客都没有提及这些操作之后需要的最重要的一个操作!
顶层面板.setOpaque(false);
这个方法是允许显示这个面板下的像素--(true)是不能够显示下层板子的像素,而(false)则是显示组件的部分像素,从而可以显示出其底层的像素!!
这个才是最关键的!
附上宝藏博客(提醒我真正方法的来源):
java为jframe窗口设置背景图片 - 码农教程 (manongjc.com)
(54条消息) java中setOpaque()用法_xr506660464的专栏-CSDN博客_java setopaque
附上成功图片: