TCP--簡單瀏覽器(能連接網絡)

/*
輸入網址,能上網

*/

import java.io.*;
import java.net.*;
import java.awt.*;
import java.awt.event.*;

class MyIEByGUI02 {
	private Frame f;
	private Button but;
	private TextField tf;
	private TextArea ta;

	MyIEByGUI02() {
		init();
	}
	public void init() {
		f = new Frame("my window");
		f.setBounds(300, 100, 600, 500);
		f.setLayout(new FlowLayout());

		but = new Button("轉到");
		tf = new TextField(60);
		ta = new TextArea(25, 70);

		f.add(tf);
		f.add(but);
		f.add(ta);

		myEvent();
		f.setVisible(true);
	}
	private void showInfo() throws Exception {			//根據輸入的鏈接地址進行獲取內容
		ta.setText("");
		String path = tf.getText();		//http://172.16.41.154:8080/myweb/demo.html
		URL url = new URL(path);
		URLConnection conn = url.openConnection();

		BufferedReader bufr = new BufferedReader(new InputStreamReader(conn.getInputStream()));
		String line = null;
		while((line = bufr.readLine()) != null) {
			ta.append(line + "\r\n");
		}
		/*
		InputStream in = conn.getInputStream();
		byte[] bt = new byte[1024];
		int num = 0;
		//int num = in.read(bt);
		//ta.setText(new String(bt, 0, num));
		
		while((num = in.read(bt)) != -1) {
			ta.append(new String(bt, 0, num));	//字節讀取不用加換行符
		}
		*/
	}

	private void myEvent() {
		f.addWindowListener(new WindowAdapter() {		//監控關閉frame窗口按鈕
			public void windowClosing(WindowEvent e) {
				System.exit(1);
			}
		});
		tf.addKeyListener(new  KeyAdapter() {			//文本框監聽,回車轉到
			public void keyPressed(KeyEvent e) {
				if(e.getKeyCode() == KeyEvent.VK_ENTER) {
					try {
						showInfo();
					} catch(Exception ie) {}
				}
			}
		});
		but.addActionListener(new ActionListener() {		//按鈕監聽鼠標轉到
			public void actionPerformed(ActionEvent e) {
				try {
					showInfo();
				} catch(Exception ie) {}
			}
		});
	}
}
public class MyIEByGUIDemo02 {
	public static void main(String[] args) {
		new MyIEByGUI02();
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章