代理模式(Proxy Pattern)(四):HeadFirst中CD封面虚拟代理

本文介绍如何使用代理模式实现CD封面的虚拟代理,在图像加载期间显示'Loading CD cover, please wait...',避免应用程序因等待而挂起。详细内容包括问题描述、类图和实现代码。" 12751153,947507,C++启动控制台程序并传递命令行参数,"['C++编程', '系统编程', '进程管理', '命令行接口']
摘要由CSDN通过智能技术生成

一、问题描述


当我们在网络上加载一些图像时,限于连接宽带和网络负载,下载可能需要一些时间,所以在等待图像加载的时候,就应该显示一些东西。我们也不希望在等待图像时,整个应用程序被挂起。一旦图像加载完成,刚才显示的东西就应该消失,图像显示出来。


二、类图





三、实现代码


1.ImageComponent

class ImageComponent extends JComponent {
	private Icon icon;

	public ImageComponent(Icon icon) {
		this.icon = icon;
	}

	public void setIcon(Icon icon) {
		this.icon = icon;
	}

	public void paintComponent(Graphics g) {
		super.paintComponent(g);
		int w = icon.getIconWidth();
		int h = icon.getIconHeight();
		int x = (800 - w)/2;
		int y = (600 - h)/2;
		icon.paintIcon(this, g, x, y);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值