我是一个刚接触java的小白,最近又新学习了一种添加背景图片的方法,添加背景图片后不影响其他组件,现在给大家分享一下。

分层面板:JLayeredPane    如果添加到容器中的组件经常需要处理重叠问题,就可以考虑将组件添加到分层窗格。

 

public UIzhuce() {
		JPanel jp = new JPanel(null);//可以在这个面板中随意放置组件
		setLayout(new GridLayout(1, 1)); //设置只有一行一列
		layer = new JLayeredPane() {       
			public void paintComponent(Graphics g) {//重写绘制面板的方法
				super.paintComponent(g);
				ImageIcon image = new ImageIcon("img/27.jpg");//导入图片
				image.setImage(image.getImage().getScaledInstance(this.getWidth(), this.getHeight(), Image.SCALE_AREA_AVERAGING)); //设置大小
				g.drawImage(image.getImage(), 0, 0, this); //重新绘制面板
			}
		};
		this.add(layer);
		//init();   //这是我的一个放置其他组件的方法
                //layer.add(jp, JLayeredPane.DEFAULT_LAYER);
                //把面板放在分层窗格的上层,就可以在面板中随意添加组件而不受影响

 设置面板透明的方法:jp1.setOpaque(false);

设置按钮透明的方法:butt.setContentAreaFilled(false);

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐