?? telnetclientframe.java
字號:
package telnetclient;import java.awt.*;import java.awt.event.*;import javax.swing.*;import ipworks.*;public class telnetClientFrame extends JFrame { private JPanel contentPane; private TextField textField1 = new TextField(); private Button button1 = new Button(); private Label label1 = new Label(); private TextArea textArea1 = new TextArea(); private Telnet telnet1 = new Telnet(); private Button button2 = new Button(); //Construct the frame public telnetClientFrame() { enableEvents(AWTEvent.WINDOW_EVENT_MASK); try { jbInit(); } catch(Exception e) { e.printStackTrace(); } } //Component initialization private void jbInit() throws Exception { //setIconImage(Toolkit.getDefaultToolkit().createImage(telnetClientFrame.class.getResource("[Your Icon]"))); contentPane = (JPanel) this.getContentPane(); textField1.setBounds(new Rectangle(108, 4, 206, 21)); contentPane.setLayout(null); this.setSize(new Dimension(504, 429)); this.setTitle("Telnet客戶端"); button1.setLabel("連接"); button1.setBounds(new Rectangle(323, 3, 72, 23)); button1.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button1_actionPerformed(e); } }); label1.setText("輸入站點名:"); label1.setBounds(new Rectangle(20, 4, 80, 21)); textArea1.setBounds(new Rectangle(6, 35, 478, 338)); textArea1.addKeyListener(new java.awt.event.KeyAdapter() { public void keyTyped(KeyEvent e) { textArea1_keyTyped(e); } }); button2.setEnabled(false); button2.setLabel("斷開"); button2.setBounds(new Rectangle(408, 3, 74, 23)); button2.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(ActionEvent e) { button2_actionPerformed(e); } }); telnet1.addTelnetEventListener(new ipworks.TelnetEventListener() { public void command(TelnetCommandEvent e) { } public void connected(TelnetConnectedEvent e) { } public void dataIn(TelnetDataInEvent e) { telnet1_dataIn(e); } public void disconnected(TelnetDisconnectedEvent e) { } public void doDo(TelnetDoDoEvent e) { telnet1_doDo(e); } public void dont(TelnetDontEvent e) { telnet1_dont(e); } public void error(TelnetErrorEvent e) { } public void readyToSend(TelnetReadyToSendEvent e) { } public void subOption(TelnetSubOptionEvent e) { } public void will(TelnetWillEvent e) { telnet1_will(e); } public void wont(TelnetWontEvent e) { telnet1_wont(e); } }); contentPane.add(textArea1, null); contentPane.add(textField1, null); contentPane.add(button1, null); contentPane.add(label1, null); contentPane.add(button2, 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); } } void button1_actionPerformed(ActionEvent e) { try { telnet1.setTimeout(100); //設置連接到Telnet主機的缺省最大時間 telnet1.setRemoteHost(textField1.getText()); //設置Telnet主機的名稱 telnet1.setConnected(true); //連接到Telnet主機 button2.setEnabled(true); button1.setEnabled(false); } catch (Exception e1) { System.out.println("Error: " + e1); //捕捉異常情況 } } void button2_actionPerformed(ActionEvent e) { try { telnet1.setConnected(false); //與Telnet主機斷開連接 textArea1.setText(""); button1.setEnabled(true); button2.setEnabled(false); } catch(Exception e1) { System.out.println("Error: " + e1); //捕捉異常情況 } } void telnet1_dataIn(TelnetDataInEvent e) { //當接收到Telnet主機發送的數據時產生的動作 textArea1.append(new String(e.text)); } void telnet1_doDo(TelnetDoDoEvent e) { //當接收到Telnet主機發送的Telnet DO OPTION命令時產生的動作 try { telnet1.setDoOption(e.optionCode); //向Telnet主機發送一個單字節的Telnet option code以響應Telnet主機發送的命令 } catch (Exception e1) { System.out.println("Error: " + e1); //捕捉異常情況 } } void telnet1_will(TelnetWillEvent e) { //當接收到Telnet主機發送的Telnet WILL OPTION命令時產生的動作 try { telnet1.setWillOption(e.optionCode); //向Telnet主機發送一個單字節的Telnet option code以響應Telnet主機發送的命令 } catch (Exception e1) { System.out.println("Error: " + e1); //捕捉異常情況 } } void telnet1_dont(TelnetDontEvent e) { //當接收到Telnet主機發送的Telnet DONT OPTION命令時產生的動作 try { telnet1.setDontOption(e.optionCode); //向Telnet主機發送一個單字節的Telnet option code以響應Telnet主機發送的命令 } catch (Exception e1) { System.out.println("Error: " + e1); //捕捉異常情況 } } void telnet1_wont(TelnetWontEvent e) { //當接收到Telnet主機發送的Telnet WONT OPTION命令時產生的動作 try { telnet1.setWontOption(e.optionCode); //向Telnet主機發送一個單字節的Telnet option code以響應Telnet主機發送的命令 } catch (Exception e1) { System.out.println("Error: " + e1); //捕捉異常情況 } } void textArea1_keyTyped(KeyEvent e) { //當用戶在Telnet文字顯示區域敲入字符時產生的動作 try { byte[] toSend = new byte[1]; toSend[0] = (byte)e.getKeyChar(); //將用戶輸入的字符轉換為字節形式 telnet1.setDataToSend(toSend); //向Telnet主機發送用戶數據 e.consume(); //不產生缺省的按鍵動作 } catch (Exception e1) { System.out.println("Error: " + e1); //捕捉異常情況 } }}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -