中文字幕在线一区二区在线,久久久精品免费观看国产,无码日日模日日碰夜夜爽,天堂av在线最新版在线,日韩美精品无码一本二本三本,麻豆精品三级国产国语,精品无码AⅤ片,国产区在线观看视频

      java編寫(xiě)即時(shí)聊天程序

      時(shí)間:2024-08-26 09:46:45 JAVA認(rèn)證 我要投稿
      • 相關(guān)推薦

      java編寫(xiě)即時(shí)聊天程序

        怎樣用java編寫(xiě)一個(gè)即時(shí)聊天程序呢?下面yjbys小編就為大家分享最新的java即時(shí)聊天程序編寫(xiě)方法,一起來(lái)看看吧!

        import java.awt.*;

        import java.awt.event.*;

        import java.net.*;

        /**

        * Sample application using Frame.

        *

        * @author

        * @version 1.00 07/06/13

        */

        public class Chatp2pFrame extends Frame {

        List dataList=new List(26);

        TextField Tfip=new TextField(18);

        TextField Tfdata=new TextField(19);

        Label Lip=new Label("輸入對(duì)方的IP地址:");

        Label Ldata=new Label("輸入聊天的內(nèi)容:");

        DatagramSocket socket=null;

        /**

        * The constructor.

        */

        public Chatp2pFrame() {

        try

        {

        socket=new DatagramSocket(5000);

        }

        catch(Exception e)

        {

        e.printStackTrace();

        }

        Tfip.setSize(150,15);

        Tfdata.setSize(150,15);

        Tfip.setFocusable(true);

        Tfip.setForeground(Color.blue);

        Tfdata.setForeground(Color.red);

        dataList.setForeground(Color.black);

        this.add(dataList,"North");

        Panel p1=new Panel();

        Panel p2=new Panel();

        p1.setLayout(new BorderLayout());

        p2.setLayout(new BorderLayout());

        this.add(p1,"Center");

        this.add(p2,"South");

        p1.add(Lip,"West");

        p1.add(Ldata,"East");

        p2.add(Tfip,"West");

        p2.add(Tfdata,"East");

        new Thread(new Runnable()

        {

        public void run()

        {

        byte[] buf=new byte[1024];

        DatagramPacket packet=new DatagramPacket(buf,1024);

        while(true)

        {

        try

        {

        socket.receive(packet);

        dataList.add(new String(buf,0,packet.getLength())+" FROM "+packet.getAddress().getHostAddress()+":"+packet.getPort(),0);

        }

        catch(Exception e)

        {

        if(!socket.isClosed())

        {

        e.printStackTrace();

        }

        }

        }

        }

        }

        ).start();

        Tfdata.addActionListener(new ActionListener()

        {

        public void actionPerformed(ActionEvent e)

        {

        try

        {

        byte[] buf=new byte[1024];

        buf=Tfdata.getText().getBytes();

        DatagramPacket packet=new DatagramPacket(buf,buf.length,

        InetAddress.getByName(Tfip.getText()),5000);

        socket.send(packet);

        dataList.add(new String(buf,0,packet.getLength())+" TO "+packet.getAddress().getHostAddress()+":"+packet.getPort(),0);

        }

        catch(Exception x)

        {

        x.printStackTrace();

        }

        Tfdata.setText("");

        }

        }

        );

        MenuBar menuBar = new MenuBar();

        Menu menuFile = new Menu();

        MenuItem menuFileExit = new MenuItem();

        menuFile.setLabel("文件");

        menuFileExit.setLabel("退出");

        // Add action listener.for the menu button

        menuFileExit.addActionListener

        (

        new ActionListener() {

        public void actionPerformed(ActionEvent e) {

        Chatp2pFrame.this.windowClosed();

        }

        }

        );

        menuFile.add(menuFileExit);

        menuBar.add(menuFile);

        setTitle("我的聊天程序");

        setMenuBar(menuBar);

        setSize(new Dimension(310, 500));

        this.setResizable(false);

        // Add window listener.

        this.addWindowListener

        (

        new WindowAdapter() {

        public void windowClosing(WindowEvent e) {

        Chatp2pFrame.this.windowClosed();

        }

        }

        );

        }

        /**

        * Shutdown procedure when run as an application.

        */

        protected void windowClosed() {

        // TODO: Check if it is safe to close the application

        // Exit application.

        socket.close();

        System.exit(0);

        }

        public static void main(String[] args) {

        // Create application frame.

        Chatp2pFrame frame = new Chatp2pFrame();

        // Show frame

        frame.setVisible(true);

        }

        }

      【java編寫(xiě)即時(shí)聊天程序】相關(guān)文章:

      Java怎么編寫(xiě)走馬燈程序08-19

      Java怎么編寫(xiě)Oracle存儲(chǔ)過(guò)程09-15

      如何編譯java程序09-28

      Java編寫(xiě)計(jì)算器的的常見(jiàn)做法01-22

      Java程序開(kāi)發(fā)與運(yùn)行環(huán)境06-21

      實(shí)現(xiàn)鼠標(biāo)畫(huà)圖的Java程序06-22

      如何使用Swing編寫(xiě)全屏程序09-20

      sun認(rèn)證java程序員須知Java日志框架09-11

      java程序中如何調(diào)用linux命令08-27

      初級(jí)java程序員面試要求01-22

      主站蜘蛛池模板: 武胜县| 成年人免费黄色h网| 成人在线视频网站不卡| 免费看一级av一区二区不卡| 亚洲欧美日韩精品高清| 国产精品视频一区二区三区,| 亚洲专区一区二区在线观看| 色婷婷一区二区三区四区| 国内精品久久久久久久亚洲| 额尔古纳市| 公主岭市| 定日县| 国产一区二区三区4区| 亚洲av第一区综合激情久久久| 精品亚洲一区二区99| 亚洲AV无码中文AV日韩A| 日产精品一区二区三区免费| 国产a视频一区二区三区| 99热高清亚洲无码| 蜜桃在线播放免费一区二区三区| 射洪县| 襄樊市| 通辽市| 蜜桃av无码免费看永久| 亚洲AⅤ男人的天堂在线观看| 桐柏县| 迁西县| 一本色道久久综合狠狠躁中文| 国产成人综合久久精品推荐免费| 土默特右旗| 一区二区三区在线视频免费观看| 亚洲综合网站精品一区二区| 太原市| 国产精品亚洲一区二区三区| 18禁精品一区二区三区| 东京热男人的av天堂| 国产三级视频在线观看视主播| 少妇一级aa一区二区三区片| 中文字幕乱码中文乱码毛片| 北岛玲中文字幕人妻系列| 亚洲嫩草影院久久精品|