文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>JAVA访问网络资源

JAVA访问网络资源

时间:2010-10-04  来源:幽哥

下面将通过JAVA的URL类来从网上得到图像

 

//从网络获取图像资源
//InternetAccess.java
import java.awt.*;
//import java.awt.event.*;
import javax.swing.*;
import java.net.*;

public class InternetAccess
{
  public static void main(String[] args)
  {
   ImageFrame frame=new ImageFrame(); 
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   //frame.show();//show方法已经过时
   frame.setVisible(true);
  }
}

class ImageFrame extends JFrame
{
  /**
  *
  */
 private static final long serialVersionUID = 1L;
public static final int WIDTH=300;
  public static final int HEIGHT=120;
 
  public ImageFrame()
  {
    setTitle("InternetAccess");
    setSize(WIDTH,HEIGHT);
   
    ImagePanel panel=new ImagePanel();
    Container contentPane=getContentPane();
    contentPane.add(panel);
  } 
}

class ImagePanel extends JPanel
{
  /**
  *
  */
  private static final long serialVersionUID = 1L;
  private Image image;
  URL url;
 
  public ImagePanel()
  {
   try
   {
    //指定要获取的资源的URL
    url=new URL("http://www.kklinux.com/uploads/090313/2_204213_1.jpg");
   }
   catch(MalformedURLException e)
   {
   
   }
   //获取指定URL上的图像
   image=Toolkit.getDefaultToolkit().getImage(url);
  }
 
  public void paintComponent(Graphics g)
  {
   super.paintComponent(g);
  
   int imageWidth=image.getWidth(this);
   int imageHeight=image.getHeight(this);
  
   //在窗口中显示图像
   g.drawImage(image, 0, 0, imageWidth, imageHeight, null);
   g.drawImage(image,0,0,null);
   //显示字符串
   g.drawString("正在下载图像...", 100, 80);
  }
}

运行结果:

 

当显示窗口时,先显示字符串,然后才显示图像。这个结果和我们的程序编写次序相反。原因在于JAVA使用了多线程机制。因为下载图像是比较费时的操作,而显示字符串是本地操作,如果不适用多线程,那么必须先等待图像下载完毕,然后字符串才能显示,这样在等待下载图像的过程中,用户恐怕不知道程序现在在做什么。因此采用多线程机制,程序不必一直等待下载操作,而是能够“同时”运行多个操作,这能够使得程序具有很好的界面友好性。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载