Java游戏中延迟下载资源及调用示例 - 编程入门网
DownloadListen listen;
private String downloadName; Java游戏中延迟下载资源及调用示例(3)时间:2011-01-26 cping/** * 创建进度条提示框 * * @param object * @param w * @param h * @param filtrate * @return */ private static Image createDialog(Image object, int w, int h, boolean filtrate) { Image barImage = null; if (filtrate) { barImage = GraphicsUtils.drawClipImage(object, 249, 30, 1, 57); barImage = GraphicsUtils.transBlackColor(barImage); } else { barImage = GraphicsUtils.drawClipImage(object, 249, 27, 0, 0); } Image imageLeft = GraphicsUtils.drawClipImage(barImage, 8, 27, 0, 0); Image imageRight = GraphicsUtils.drawClipImage(barImage, 8, 27, 241, 0); Image ImageCenter = GraphicsUtils .drawClipImage(barImage, 233, 27, 8, 0); ImageCenter = GraphicsUtils.getResize(ImageCenter, w, h); Graphics cg = ImageCenter.getGraphics(); cg.drawImage(imageLeft, 0, 0, null); cg.drawImage(imageRight, w - 8, 0, null); cg.dispose(); return ImageCenter; } /** * 构造函数,加载指定url * * @param url */ public DownloadTool(String url) { this.size = -1; this.downloaded = 0; this.status = DOWNLOADING; try { this.url = new URL(url); } catch (MalformedURLException e) { throw new RuntimeException(e); } } public DownloadTool(URL url) { this.url = url; this.size = -1; this.downloaded = 0; this.status = DOWNLOADING; } /** * 设定进度条所在方位 * * @param x * @param y * @param w * @param h */ public void setRectangle(int x, int y, int w, int h) { setRectangle(new Rectangle(x, y, w, h)); } /** * 设定进度条所在方位 * * @param rectangle */ public void setRectangle(Rectangle rectangle) { this.backgroundBarImage = GraphicsUtils.drawClipImage(barImage, 249, 27, 0, 0); this.backgroundBarImage = createDialog(backgroundBarImage, rectangle.width - 21, rectangle.height - 2, false); // this.progressBarImage = GraphicsUtils.drawClipImage(barImage, 27, 27, // 28, 28); // this.progressBarImage = GraphicsUtils.drawClipImage(barImage, 27, 27, // 56, 28); this.progressBarImage = GraphicsUtils.drawClipImage(barImage, 27, 27, 0, 28); this.dialogBarImage = createDialog(barImage, rectangle.width, rectangle.height, true); this.rectangle = rectangle; } Java游戏中延迟下载资源及调用示例(4)时间:2011-01-26 cping/** * 返回当前url地址 * * @return */ public String getUrl() { return url.toString(); } /** * 返回当前下载文件总长度 * * @return */ public int getSize() { return size; } /** * 返回当前下载已完成长度 * * @return */ public int getLevel() { return downloaded; } /** * 返回当前进度 * * @return */ public int getProgress() { return (int) ((double) downloaded / (double) size * 100); } public int getStatus() { return status; } public void pause() { status = PAUSED; } public void resume() { status = DOWNLOADING; download(listen); } public void cancel() { status = CANCELLED; } private void error() { status = ERROR; } public int getContentLength() { return contentLength; } public void download(DownloadListen listen) { this.listen = listen; Thread thread = new Thread(this); t |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |