亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? talkclientapplet.java

?? java tutorial.sun公司官方出品。java入門書籍。最新版
?? JAVA
字號:
/* * Copyright (c) 1995 - 2008 Sun Microsystems, Inc.  All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * *   - Redistributions of source code must retain the above copyright *     notice, this list of conditions and the following disclaimer. * *   - Redistributions in binary form must reproduce the above copyright *     notice, this list of conditions and the following disclaimer in the *     documentation and/or other materials provided with the distribution. * *   - Neither the name of Sun Microsystems nor the names of its *     contributors may be used to endorse or promote products derived *     from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /* * Java(TM) SE 6 version. * Exercise for the reader: Convert this applet to use SwingWorker * and Timer. SwingWorker can be downloaded at: * https://swingworker.dev.java.net/ * SwingWorker must be downloaded for JavaSE 5, but will be included * in JavaSE 6. */import javax.swing.*;import java.awt.*;import java.awt.event.*;import java.io.*;import java.net.*;import java.util.*;public class TalkClientApplet extends JApplet 				      implements Runnable,						 ActionListener {    private Socket socket;    private BufferedWriter os;    private BufferedReader is;    private JTextField portField, message;    private JTextArea display;    private JButton button;    private JLabel label;    private int dataPort;    private boolean trysted;    private Thread receiveThread;    private String host;    private boolean DEBUG = false;    public void init() {        //Get the address of the host we came from.        host = getCodeBase().getHost();        //Execute a job on the event-dispatching thread:        //creating this applet's GUI.        try {            SwingUtilities.invokeAndWait(new Runnable() {                public void run() {                    createGUI();                }            });        } catch (Exception e) {            System.err.println("createGUI didn't successfully complete");        }    }    private void createGUI() {              JPanel contentPane = new JPanel(new GridBagLayout());        JScrollPane textAreaScroller = new JScrollPane();        GridBagConstraints c = new GridBagConstraints();        c.insets = new Insets(5,5,5,5);        message = new JTextField("");        c.fill = GridBagConstraints.HORIZONTAL;        c.gridwidth = GridBagConstraints.REMAINDER;	message.addActionListener(this);        contentPane.add(message, c);        display = new JTextArea(5, 40);        display.setEditable(false);        textAreaScroller.setViewportView(display);        c.weighty = 1.0;        c.fill = GridBagConstraints.BOTH;        contentPane.add(textAreaScroller, c);        label = new JLabel("Enter the port (on host " + host                           + ") to send the request to:",                            JLabel.TRAILING);        c.fill = GridBagConstraints.HORIZONTAL;        c.gridwidth = 1;        c.weighty = 0.0;        contentPane.add(label, c);        portField = new JTextField(6);        portField.addActionListener(this);        c.weightx = 1.0;        contentPane.add(portField, c);        button = new JButton("Connect");	button.addActionListener(this);        c.weightx = 0.0;        contentPane.add(button, c);        contentPane.setBorder(BorderFactory.createCompoundBorder(             BorderFactory.createLineBorder(Color.black),             BorderFactory.createEmptyBorder(5,5,5,5)));        setContentPane(contentPane);    }    public void start() {        start(false);    }        private void start(boolean onEDT) {                if (DEBUG) {            System.out.println("In start() method.");        }        if (receiveThread == null) {            trysted = false;            os = null;            is = null;            socket = null;            receiveThread = new Thread(this);            receiveThread.start();            if (DEBUG) {                System.out.println("  Just set everything to null and started thread.");            }            enableGUI(onEDT);                    } else if (DEBUG) {            System.out.println("  receiveThread not null! Did nothing!");        }    }        //Invoked to reenable the GUI.    private void enableGUI(boolean onEDT) {        if (onEDT) {            enableGUI();        } else {            //Execute a job on the event-dispatching thread:            //Enabling the GUI.            try {                SwingUtilities.invokeAndWait(new Runnable() {                    public void run() {                        enableGUI();                    }                });            } catch (Exception e) {}        }    }        //Assumes it's already on the EDT.    private void enableGUI() {        label.setEnabled(true);        portField.setEnabled(true);        button.setEnabled(true);    }        //Assumes it's already on the EDT.    private void disableGUI() {        label.setEnabled(false);        portField.setEnabled(false);        button.setEnabled(false);    }    public void stop() {        stop(false);    }        private synchronized void stop(boolean onEDT) {        if (DEBUG) {            System.out.println("In stop() method.");        }        receiveThread = null;        trysted = false;        enableGUI(onEDT);        notify();        try { //Close input stream.            if (is != null) {                is.close();                is = null;            }        } catch (Exception e) {} //Ignore exceptions.        try { //Close output stream.            if (os != null) {                os.close();                os = null;            }        } catch (Exception e) {} //Ignore exceptions.        try { //Close socket.            if (socket != null) {                socket.close();                socket = null;            }        } catch (Exception e) {} //Ignore exceptions.    }                //As an event listener, this is invoked on the event-dispatching    //thread, so we can directly manipulate components here.    public void actionPerformed(ActionEvent event) {        int port;                if (DEBUG) {            System.out.println("In actionPerformed() method.");        }        if (receiveThread == null) {            start(true);        }        if (!trysted) {        //We need to attempt a rendezvous.            if (DEBUG) {                System.out.println("  trysted = false. "                                   + "About to attempt a rendezvous.");            }            //Get the port the user entered...            try {                port = Integer.parseInt(portField.getText());            } catch (NumberFormatException e) {                //No integer entered.                 appendToDisplay("Please enter an integer below.\n");                return;            }            if (DEBUG) {                System.out.println("About to attempt rendezvous with port " + port + ".");            }                        //...and rendezvous with it.            rendezvous(port);        } else { //We've already rendezvoused. Just send data over.            if (DEBUG) {                System.out.println("  trysted = true. "                                   + "About to send data.");            }            String str = message.getText();            message.selectAll();            try {                os.write(str);		os.newLine();                os.flush();            } catch (IOException e) {                appendToDisplay("ERROR: Applet couldn't write to socket.\n");                appendToDisplay("...Disconnecting.\n");                stop(true);                return;            } catch (NullPointerException e) {                appendToDisplay("ERROR: No output stream!\n");                appendToDisplay("...Disconnecting.\n");                stop(true);                return;            }            appendToDisplay("SENT TO SERVER: " + str + "\n");        }    }    private synchronized void waitForTryst() {        //Wait for notify() call from action().        try {            wait();                } catch (InterruptedException e) {}        if (DEBUG) {            System.out.println("waitForTryst about to return. "                               + "trysted = " + trysted + ".");        }        return;    }    public void run() {        String received = null;        waitForTryst();        //OK, now we can send messages.        while (Thread.currentThread() == receiveThread) {            try {                 //Wait for data from the server.                received = is.readLine();                //Display it.                if (received != null) {                    appendToDisplay("RECEIVED FROM SERVER: " + received + "\n", false);                } else { //success but no data...                    System.err.println("End of stream?");		    return;                }            } catch (IOException e) { //Perhaps a temporary problem?                appendToDisplay("NOTE: Couldn't read from socket.\n", false);                return;            }        }    }        private void appendToDisplay(String s, boolean onEDT) {        if (onEDT) {            appendToDisplay(s);        } else {            final String newText = s;            //Execute a job on the event-dispatching thread:            //creating this applet's GUI.            try {                SwingUtilities.invokeAndWait(new Runnable() {                    public void run() {                        appendToDisplay(newText);                    }                });            } catch (Exception e) { }        }    }        //Assumes it IS called from the EDT.    private void appendToDisplay(String s) {        display.append(s);        display.setCaretPosition(display.getText().length());    }    //Invoked by actionPerformed, and thus executing on the EDT.    private synchronized void rendezvous(int port) {        //Try to open a socket to the port.        try {            socket = new Socket(host, port);        } catch (UnknownHostException e) {            appendToDisplay("ERROR: Can't find host: " + host + "\n");            return;        } catch (IOException e) {            appendToDisplay("ERROR: Can't open socket on rendezvous port "                           + port + " (on host " + host + ").\n");            return;        }        appendToDisplay("Successfully opened socket on rendezvous port.\n");        //Try to open streams to read and write from the socket.        try {            os = new BufferedWriter(		     new OutputStreamWriter(socket.getOutputStream()));            is = new BufferedReader(		     new InputStreamReader(socket.getInputStream()));        } catch (IOException e) {            appendToDisplay("ERROR: Created data socket but can't "                            + "open stream on it.\n");            appendToDisplay("...Disconnecting.\n");            stop(true);            return;        }           appendToDisplay("Successfully opened I/O streams on rendezvous port.\n");                if ((os != null) & (is != null)) {            if (DEBUG) {                System.out.println("Successful rendezvous.");                System.out.println("socket = " + socket);                System.out.println("output stream = " + os);                System.out.println("input stream = " + is);            }            //Let the main applet thread know we've successfully rendezvoused.            disableGUI();            trysted = true;            notify();        } else {            appendToDisplay("ERROR: Port is valid but communication failed. "                            + "Please TRY AGAIN.\n");        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
不卡视频在线观看| 91视频在线看| 日韩成人一级片| 天天色 色综合| 日本三级韩国三级欧美三级| 午夜一区二区三区视频| 爽爽淫人综合网网站| 一区二区三区不卡在线观看| 亚洲欧美视频在线观看| 亚洲一级二级三级| 日韩综合一区二区| 久久9热精品视频| 丰满少妇久久久久久久| av在线一区二区| 色综合久久综合网欧美综合网| 91久久久免费一区二区| 日本高清不卡在线观看| 欧美视频三区在线播放| 日韩欧美高清一区| 日本一区二区免费在线| 亚洲乱码中文字幕综合| 日韩高清不卡在线| 国产成人免费网站| 91成人国产精品| 欧美第一区第二区| 17c精品麻豆一区二区免费| 亚洲国产日产av| 国产一区二区伦理| 91国产免费观看| 精品国产伦理网| 一区二区三区四区中文字幕| 看片网站欧美日韩| 91福利精品视频| 国产亚洲综合性久久久影院| 亚洲欧美aⅴ...| 九九视频精品免费| 日本黄色一区二区| 久久影院午夜片一区| 夜夜精品视频一区二区| 国内精品免费**视频| 在线精品观看国产| 欧美国产乱子伦| 奇米影视7777精品一区二区| 成人激情黄色小说| 欧美r级在线观看| 亚洲一区免费视频| 成人精品国产一区二区4080 | 亚洲精品一区二区三区四区高清 | 国产精品久久久久一区| 美女视频一区二区三区| 色婷婷久久综合| 国产精品久久久久久妇女6080| 男女激情视频一区| 欧美日韩一级二级| 亚洲乱码国产乱码精品精的特点| 国产精品77777| 日韩欧美国产午夜精品| 偷拍与自拍一区| 欧美午夜精品电影| 亚洲精品视频免费看| 成人综合婷婷国产精品久久蜜臀| 91精品婷婷国产综合久久性色 | 99精品一区二区三区| 国产亚洲欧美在线| 国产在线精品免费| 精品国产一区久久| 美女一区二区三区在线观看| 欧美日韩国产欧美日美国产精品| 亚洲天堂久久久久久久| 成年人国产精品| 国产精品污网站| 成人午夜免费av| 亚洲日穴在线视频| 成人国产精品免费| 亚洲丝袜另类动漫二区| 91在线你懂得| 亚洲国产人成综合网站| 在线不卡一区二区| 欧美96一区二区免费视频| 91精品国产麻豆国产自产在线| 日韩不卡手机在线v区| 日韩欧美国产麻豆| 国产91丝袜在线播放九色| 欧美国产一区二区| 97精品国产97久久久久久久久久久久 | 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 亚洲女厕所小便bbb| 欧美在线不卡视频| 丝袜诱惑亚洲看片| 欧美v国产在线一区二区三区| 国产最新精品免费| 国产精品久久久久9999吃药| 色88888久久久久久影院按摩| 亚洲图片欧美色图| 日韩欧美亚洲国产另类| 国产69精品久久99不卡| 亚洲精品视频一区二区| 欧美一区二区大片| 成人精品国产福利| 丝瓜av网站精品一区二区 | 欧美日韩高清一区| 国产自产视频一区二区三区| 日本一区二区三区视频视频| 91激情在线视频| 激情综合网av| 一区二区成人在线视频| 欧美成人精精品一区二区频| 高清成人在线观看| 午夜视频在线观看一区二区 | 欧美三级韩国三级日本一级| 久草在线在线精品观看| 一片黄亚洲嫩模| 26uuu国产在线精品一区二区| 99这里只有精品| 老司机精品视频一区二区三区| 一区精品在线播放| 欧美成人a在线| 在线观看免费视频综合| 国产精品一二三四区| 亚洲国产成人va在线观看天堂| 久久这里都是精品| 欧美日韩国产经典色站一区二区三区| 国产成人精品影院| 日本午夜一区二区| 亚洲制服丝袜一区| 最好看的中文字幕久久| 精品国产亚洲一区二区三区在线观看| 色伊人久久综合中文字幕| 福利一区福利二区| 狠狠色综合日日| 日韩av一级片| 视频在线观看一区二区三区| 亚洲欧美另类久久久精品2019| 26uuu国产电影一区二区| 欧美日韩1234| 欧洲国产伦久久久久久久| 99久久精品99国产精品| 成人免费高清视频| 成人小视频在线| av不卡免费在线观看| 国产+成+人+亚洲欧洲自线| 国产一区二区三区免费在线观看| 日韩av午夜在线观看| 日本不卡一区二区| 免费视频最近日韩| 精品一区二区日韩| 精品一区二区影视| 久久不见久久见中文字幕免费| 麻豆精品一区二区三区| 久久精品99国产精品| 久久99热99| 国产成人99久久亚洲综合精品| 国产精品羞羞答答xxdd| 99久久久久久| 在线影院国内精品| 欧美日韩不卡视频| 日韩一区二区精品葵司在线| 日韩欧美成人激情| 国产清纯在线一区二区www| 国产精品久久久久天堂| 亚洲免费观看在线视频| 午夜精品123| 老司机一区二区| 懂色一区二区三区免费观看| 成a人片亚洲日本久久| 在线免费亚洲电影| 6080国产精品一区二区| 精品国产在天天线2019| 亚洲国产精品成人久久综合一区| 国产精品国产三级国产普通话99 | 精品国产免费视频| 中文一区在线播放| 亚洲午夜日本在线观看| 日韩精品亚洲一区| 国产成人午夜电影网| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 国产成人日日夜夜| 色哟哟在线观看一区二区三区| 欧美日韩亚洲丝袜制服| 精品国产免费人成电影在线观看四季 | 亚洲欧美日韩国产手机在线| 亚洲国产日韩a在线播放| 国模一区二区三区白浆| 99国产精品一区| 久久精品欧美一区二区三区麻豆| 中文字幕亚洲综合久久菠萝蜜| 日韩av二区在线播放| 粉嫩一区二区三区在线看| 欧美精品久久99久久在免费线| 久久综合五月天婷婷伊人| 亚洲精品成人a在线观看| 国产一区二区日韩精品| 欧美日韩国产高清一区二区 | 欧美色图激情小说| 国产肉丝袜一区二区| 日韩电影网1区2区| 91亚洲午夜精品久久久久久| 欧美tickling挠脚心丨vk| 亚洲一区二区免费视频| 成人av高清在线|