JAVA编程求大神帮忙。。。。

用程序模拟IE想WEB服务器发送请求,得到WEB服务器的返回结果,并打印到控制台上,需要每行程序的注释。... 用程序模拟IE想WEB服务器发送请求,得到WEB服务器的返回结果,并打印到控制台上,需要每行程序的注释。 展开
 我来答
hardneedl
2011-03-30 · TA获得超过922个赞
知道小有建树答主
回答量:1353
采纳率:57%
帮助的人:658万
展开全部

import javax.swing.*;

import javax.swing.text.*;

import java.util.*;

import java.net.*;

import java.io.*;

/**

 * @author Hardneedl

 */

class DownloadWorker extends SwingWorker<String,String> {

    private JTextComponent txtCmp;

    private URL url;

    DownloadWorker(URL url,JTextComponent txtCmp) {

        this.txtCmp=txtCmp;

        this.url=url;

    }

    protected String doInBackground() throws Exception {

        URLConnection con = url.openConnection();

        InputStream ins = con.getInputStream();

        byte[]buf = new byte[5000];

        StringBuffer sbf = new StringBuffer();

        int r;

        while ( (r=ins.read(buf))!=-1 )

            this.publish(sbf.append(new String(buf,0,r)).toString());

        ins.close();

        return sbf.toString();

    }

    protected void process(List<String> chunks) {

        for (String t : chunks)

            txtCmp.setText(txtCmp.getText() + t);

    }

}

import javax.swing.*;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.net.*;

/**

 * @author Hardneedl

 */

class BrowserDemo extends JFrame {

    private static final Dimension minSize = new Dimension(300, 200);

    private static final Dimension maxSize = new Dimension(1024, 768);

    private static final Dimension preferredSize = new Dimension(600, 400);

    public Dimension getMaximumSize() {return maxSize;}

    public Dimension getMinimumSize() {return minSize;}

    public Dimension getPreferredSize() {return preferredSize;}

    public String getTitle() {return "Frame Title";}

    private JTextField urlField;

    private JTextArea area;

    BrowserDemo() throws HeadlessException {

        init();

        doLay();

        attachListeners();

    }

    private void init() {

        urlField = new JTextField();

        area = new JTextArea(){

            public boolean isEditable() {return false;}

        };

    }

    private void doLay() {

        Container container = getContentPane();

        JPanel bar = new JPanel(new GridBagLayout());

        GridBagConstraints c = new GridBagConstraints();

        c.weightx=1.0;

        c.anchor = GridBagConstraints.NORTHWEST;

        bar.add(new JLabel("URL:"), c);

        c.fill = GridBagConstraints.HORIZONTAL;

        bar.add(urlField, c);

        c.gridwidth=GridBagConstraints.REMAINDER;

        c.fill = GridBagConstraints.NONE;

        c.anchor=GridBagConstraints.LINE_END;

        bar.add(new JButton(new DownloadAction("download")), c);

        container.add(bar, BorderLayout.NORTH);

        container.add(new JScrollPane(area),BorderLayout.CENTER);

        pack();

    }

    private void attachListeners() {

        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    }

    class DownloadAction extends AbstractAction {

        DownloadAction(String name) {super(name);}

        public void actionPerformed(ActionEvent e) {

            try {

                new DownloadWorker(new URL(urlField.getText()),area).execute();

            } catch (MalformedURLException e1) {

                e1.printStackTrace();

            }

        }

    }

    public static void main(String[] args) {

        SwingUtilities.invokeLater(

            new Runnable(){

                public void run() {

                    new BrowserDemo().setVisible(true);

                }

            }

        );

    }

}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式