请完成下列Java程序:读取新浪首页文件的数据并且显示出来。要求编写JFrame扩展类,以String类的对象定义的url地址作为入口参数,该类实现根据url参数指定的地址进行连接和读取数据,并且能显示在1个文本区域内。 注意:请勿改动main()主

admin2013-02-25  43

问题 请完成下列Java程序:读取新浪首页文件的数据并且显示出来。要求编写JFrame扩展类,以String类的对象定义的url地址作为入口参数,该类实现根据url参数指定的地址进行连接和读取数据,并且能显示在1个文本区域内。
   注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。
   程序运行结果如下:

   import javax.swing.*;
   import java.awt.*;
   import java.awt.event.*;
   import java.net.*;
   import java.io.*;
   public class ex25_2 {
      public static void main(String[] arg)  {
        UrlFrame page = new UrlFrame("http://www.sina.com.cn");
        page.show();
     }
   }  
   class UrlFrame extends JFrame {
     JTextArea jta = new JmextArea("正在读取文件…");
     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())

解析 本题主要考查面向对象的基本编程思想,swing构件的使用,以及java.net包中的基本方法的使用。解题关键是能够从题目意思中提取有用信息,并抽象成自己制作的类,并实现这个类,完成一些基本功能。本题中,第1个空,调用类UrlFrame内部的方法getData,根据参数url所指出的地址获得文件数据;第2个空,将strBuf中的数据显示到jta对象所指定的文本区域中。
转载请注明原文地址:https://jikaoti.com/ti/lf80FFFM
0

最新回复(0)