?? dyngetsource.java
字號:
package dyngetsource;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.MalformedURLException;
import java.net.*;
import java.io.*;
/**
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2004</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class DynGetSource
extends JFrame
implements Runnable {
JPanel contentPane;
JTextField jTextField1 = new JTextField();
JButton jButton1 = new JButton();
JScrollPane jScrollPane1 = new JScrollPane();
JTextArea jTextArea1 = new JTextArea();
URL url = null;
//Construct the frame
public DynGetSource() {
enableEvents(AWTEvent.WINDOW_EVENT_MASK);
try {
jbInit();
}
catch (Exception e) {
e.printStackTrace();
}
}
//Component initialization
private void jbInit() throws Exception {
contentPane = (JPanel)this.getContentPane();
jTextField1.setText("");
jTextField1.setBounds(new Rectangle(16, 14, 172, 22));
jTextField1.addKeyListener(new DynGetSource_jTextField1_keyAdapter(this));
contentPane.setLayout(null);
this.setSize(new Dimension(320, 254));
this.setTitle("獲取網頁代碼");
jButton1.setBounds(new Rectangle(202, 14, 102, 22));
jButton1.setText("獲得網頁代碼");
jButton1.addActionListener(new DynGetSource_jButton1_actionAdapter(this));
jScrollPane1.setBounds(new Rectangle(16, 56, 288, 156));
contentPane.add(jButton1, null);
contentPane.add(jScrollPane1, null);
jScrollPane1.getViewport().add(jTextArea1, null);
contentPane.add(jTextField1, null);
}
//Overridden so we can exit when window is closed
protected void processWindowEvent(WindowEvent e) {
super.processWindowEvent(e);
if (e.getID() == WindowEvent.WINDOW_CLOSING) {
System.exit(0);
}
}
public void getSource() {
jTextArea1.setText("");
try {
url = new URL(jTextField1.getText()); //獲得URL
try {
int i;
StringBuffer strBuf = new StringBuffer();
URLConnection urlConn = url.openConnection();
InputStream inStr = new BufferedInputStream(urlConn.getInputStream());
Reader r = new InputStreamReader(inStr);
while ( (i = r.read()) != -1) {
strBuf.append( (char) i); //當讀取的源代碼沒有結束時,將讀入的字符加入到strBuf中
}
jTextArea1.append(strBuf.toString()); //將strBuf緩沖區的字符串加入到jTextArea1中,并顯示
}
catch (IOException error) {}
}
catch (MalformedURLException err) {}
}
void jButton1_actionPerformed(ActionEvent e) {
getSource();
}
void jTextField1_keyPressed(KeyEvent e) {
if (e.getKeyChar() == KeyEvent.VK_ENTER) {
getSource();
}
}
public void run() {
/**@todo Implement this java.lang.Runnable method*/
while (true) {
try {
getSource();
Thread.sleep(5000);
}
catch (InterruptedException e) {}
}
}
}
class DynGetSource_jButton1_actionAdapter
implements java.awt.event.ActionListener {
DynGetSource adaptee;
DynGetSource_jButton1_actionAdapter(DynGetSource adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButton1_actionPerformed(e);
}
}
class DynGetSource_jTextField1_keyAdapter
extends java.awt.event.KeyAdapter {
DynGetSource adaptee;
DynGetSource_jTextField1_keyAdapter(DynGetSource adaptee) {
this.adaptee = adaptee;
}
public void keyPressed(KeyEvent e) {
adaptee.jTextField1_keyPressed(e);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -