JFrame背景
1.引言
在了解了JFrame面板的相关知识后,我们可以选择在RootPane根面板或LayeredPane面板中设置背景图案。
2.方法
对于大小固定的窗口背景设置如下:
//导入图案
ImageIcon img = new ImageIcon("image url");
// 图片缩放为窗口大小
Image image = img.getImage().getScaledInstance(frame.getWidth(), frame.getHeight(), Image.SCALE_FAST);
//将缩放好的图片实例化
ImageIcon newimg = new ImageIcon(image);
//将图案放入标签(不能直接将image放入标签)
JLabel imgLabel = new JLabel();
imgLabel.setIcon(newimg);
//设置标签位置和大小(覆盖面板)
imgLabel.setBounds(0, 0, frame.getWidth(), frame.getHeight());
//将标签添加到Layered面板或RootPane面板( LayeredPane也有若干层,这里放在最底层)
frame.getLayeredPane().add( imgLabel, new Integer(Integer.MIN_VALUE));
//将ContentPane设置为透明
JPanel content=(JPanel) frame.getContentPane();
content.setOpaque(false);
3.实例
import java.awt.Image;
import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class SetBack1 {
JFrame frame = new JFrame("picture test");
JLabel label=new JLabel();
public SetBack1(){
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 400);
//导入图片
ImageIcon img = new ImageIcon("D:\\7.jpg");
// 图片缩放为适合Frame大小
Image image = img.getImage().getScaledInstance(frame.getWidth(), frame.getHeight(), Image.SCALE_FAST);
//将缩放好的图片实例化
ImageIcon newimg = new ImageIcon(image);
//在标签中添加图片
label.setIcon(newimg);
//设置标签大小为全屏
label.setBounds(0, 0, frame.getWidth(), frame.getHeight());
//LayeredPane也是分层的,这里将JLabel放置在了LayeredPane最底层
frame.getLayeredPane().add( label, new Integer(Integer.MIN_VALUE));
//将ContentPane透明化
JPanel cp= (JPanel) frame.getContentPane();
cp.setOpaque(false);
frame.setVisible(true);
}
public static void main(String[] args) {
new SetBack1();
}
}
效果如下:
最新文章
- Android沉浸式通知栏设计
- 【Java EE 学习 46】【Hibernate学习第三天】【多对多关系映射】
- 自定义CollectionViewLayout
- Android获取系统时间方法的总结
- HQL的一些语句总结
- json跨域原理及解决方法
- 用tsung测试openfire 服务器性能
- Play on Words
- 一个人的旅行(用小技巧转化为dijkstra算法)
- 深入浅出Hadoop Mahout数据挖掘实战(算法分析、项目实战、中文分词技术)
- jquery-ui-bootstrap动态添加和删除标签页封装【效果更炫】
- ios 学习动画的套路 (一)
- Python中三种基本结构的语句
- 软工个人作业4——Alpha阶段个人总结
- LayUI左侧菜单无法保持选中状态
- SAS 创建新变量
- Windows下Codeblocks调试Cocos2d-x项目体验(一次失败的体验)
- 在 Django/Flask 开发服务器上使用 HTTPS
- docker从容器里面拷文件到宿主机或从宿主机拷文件到docker容器里面
- python web py安装与简单使用