java 访问 网络swf_JAVA访问网络资源
下面將通過JAVA的URL類來從網(wǎng)上得到圖像
//從網(wǎng)絡(luò)獲取圖像資源
//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方法已經(jīng)過時
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);
}
}
運行結(jié)果:
當顯示窗口時,先顯示字符串,然后才顯示圖像。這個結(jié)果和我們的程序編寫次序相反。原因在于JAVA使用了多線程機制。因為下載圖像是比較費時的操作,而顯示字符串是本地操作,如果不適用多線程,那么必須先等待圖像下載完畢,然后字符串才能顯示,這樣在等待下載圖像的過程中,用戶恐怕不知道程序現(xiàn)在在做什么。因此采用多線程機制,程序不必一直等待下載操作,而是能夠“同時”運行多個操作,這能夠使得程序具有很好的界面友好性。
總結(jié)
以上是生活随笔為你收集整理的java 访问 网络swf_JAVA访问网络资源的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 程序片段_20个非常有用的Ja
- 下一篇: 抽取样本java实验报告_一个自定义cl