关闭

Java加载与显示图片—含本地图片与网络图片

标签: java网络stringurlimageimport
2022人阅读 评论(0) 收藏 举报
分类:

Java加载与显示图片含本地图片与网络图片

  

描述

 

本文以例子代码的形式讲述在Java下如何加载与显示图片。

 

技术实现

 

导入包

                                                 

import java.awt.Frame;

import java.awt.Graphics;

import java.awt.Image;

import java.awt.Toolkit;

import java.net.MalformedURLException;

import java.net.URL;

                    

实现代码

 

public class Test extends Frame{

 

    Image   myImage;

    String  sMsg;

    boolean loadFinished;

    public static void main(String[] av) {

       Test r = new Test( );

       r.setVisible(true);

        r.loadURLImage("/xkadmin/eWebEditor/UploadFile/201012711859288.jpg");

    }

 

    /** Construct the object */

    public Test() {

       super();

       sMsg = "Loading...";

       setSize(860, 660);

    }

   

    //加载网络上图片

    public void loadURLImage(String sUrl){

       Toolkit toolkit;

       loadFinished = false;

       toolkit      = Toolkit.getDefaultToolkit();

       try {

           URL url = new URL(sUrl);

           myImage = toolkit.getImage(url);

       } catch (MalformedURLException e) {

           e.printStackTrace();

       }

       Graphics g = this.getGraphics();

       g.drawImage(myImage, 6, 36, this);

    }

   

    //加载本地图片

    public void loadLoaclImage(String sFile){

       Toolkit toolkit;

       loadFinished = false;

       toolkit    = Toolkit.getDefaultToolkit();

       myImage    = toolkit.getImage(sFile);

       Graphics g = this.getGraphics();

       g.drawImage(myImage, 6, 36, this);

    }

 

    public void paint(Graphics g) {

       //判断是否加载完成

       if ( loadFinished == true ){

           g.drawImage(myImage, 6, 36, this);

       }else{

           g.drawString(sMsg, 100, 100);

       }

    }

 

    //图片加载状态通知函数

    public boolean imageUpdate(Image img, int infoflags, int x, int y, int w, int h) {

       if ( infoflags == ALLBITS ) {

           loadFinished = true;

           repaint();

           return false;

       } else

       {

           return true;

       }

    }

}

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:112314次
    • 积分:1765
    • 等级:
    • 排名:千里之外
    • 原创:54篇
    • 转载:54篇
    • 译文:2篇
    • 评论:11条
    最新评论