
JAVA编程求大神帮忙。。。。
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);
}
}
);
}
}