JPanel设置背景图片(重绘实现)+按钮异常显示解决办法

本文详细介绍了如何在Java Swing中使用JPanel设置自定义背景图片,并解决了因背景图导致的按钮异常显示问题。通过覆盖paintComponent方法并实现重绘,可以成功设置组件背景,并确保按钮等其他元素正常显示。
摘要由CSDN通过智能技术生成
import java.awt.Graphics;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;

class BackgroundImage extends JPanel{
	Image img;
	
	public BackgroundImage() {
		try {
			img = ImageIO.read(new File("image/server.JPG"));
		}catch(Exception e) {
			e.printStackTrace();
		}
	}
	
	//重绘三要素:1.repaint 2.改变Panel大小  3.主程序启动
	public void paint(Graphics g) {
		super.paint(g);
		g.drawImage(img, 0, 0, 400, 400, this);
		//重绘子组件,不然会出现异常“有个按钮需要鼠标移动到它上边才显示”
		super.paintChildren(g);
	}
}

public class ServerStartStop extends JFrame implements ActionListener{
	BackgroundImage bgi = null;
	JButton jbStartUp = null,jbStop = null;
	
	public ServerStartStop() {
		//设置标题栏图标
		ImageIcon titltIcon = new ImageIcon("image/server.JPG");
		this.setI
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值