问答题

请完成下列Java程序:读取新浪首页文件的数据并且显示出来。要求编写JFrame扩展类,以String类的对象定义的url地址作为入口参数,该类实现根据url参数指定的地址进行连接和读取数据,并且能显示在一个文本区域内。
注童;请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。
源程序文件代码清单如下:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
public class ex15_2

public static void main(String args[])

UrlFrame page = new UrlFrame("http://www.sina.com.cn");
page.show();


class UrlFrame extends JFrame

JTextArea jta = new JTextArea("正在读取文件...");
URL url;
public UrlFrame(String strAddr)

super (strAddr);//使用父类的构造方法。
setSize(450, 300);
JScrollPane jsp = new JScrollPane(jta);
getContentPane().add(jsp);
WindowListener wl = new WindowAdapter()

public void windowClosing(WindowEvent we)

System.exit(0);

;
addWindowListener(wl);
try
url = new URL(strAddr);
______;
catch (MalformedURLException murle)
System.out.println("不合适的URL:"+ strAddr);


void getData(URL url)

URLConnection con = null;
InputStreamReader isr;
BufferedReader readBuf;
String strLine;
StringBuffer strBuf = new StringBuffer();
try
con = this.url.openConnection();
con.connect();
jta.setText("打开连接...");
isr = new InputStreamReader(con.getInputStream());
readBuf = new BufferedReader(isr);
jta.setText("读取数据...");
while ((strLine = readBuf.readLine()) != null)
strBuf.append(strLine + "\n");
______;
catch (IOException e)
System.out.println("IO错误:" + e.getMessage());


【参考答案】

getData(url)
jta.setText(strBuf.toString())
热门 试题

问答题
下面是一个Applet程序,其功能是从3~100之间(包括3和100)每隔0.5秒显示一个新的数字,如果数字为素数,则显示为灰色,其他为绿色。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。 注意:不改动程序的结构,不得增行或删行。 源程序文件代码清单如下: import java.awt.*; import java.applet.Applet; * <applet code=ex15_3.class width=800 height=400> < applet> * public class ex15_3 extends Applet public Color color15_3 = Color.black; private int n15_3 = 3; public myPrime thPrime15_3; public void init() thPrime15_3 = new myPrime(this); thPrime15_3.start(); public void paint(Graphics g) g.setColor(color15_3); g.drawString(n15_3, 50, 50); public int getInt() return n15_3; public void setInt(int i) n15_3=i; class myPrime extends Thread ex15_3 obj15_3; myPrime (ex15_3 o) this.obj15_3 = o; public boolean isPrime(int n) boolean bPrime = true; int i=2; if(n<3||n>100) return false; while(i<n-1&&bPrime) if ((n % i) == 0) bPrime = false; i++; return bPrime; public void run() int i; for (i=3;i<100; i++) if (isPrime(i)) obj15_3.color15_3 = Color.gray; else obj15_3.color15_3 = Color.green; obj15_3.n15_3; obj15_3.repaint(); try sleep(500); catch (InterruptedException ie) ( ) ex15_3.html <HTML> <HEAD> <TITLE>ex15_3< TITLE> < HEAD> <BODY> <applet code= ex15_3.class width=800 height=400> < applet> < BODY> < HTML>