<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • java編寫即時(shí)聊天程序

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

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

      怎樣用java編寫一個(gè)即時(shí)聊天程序呢?下面yjbys小編就為大家分享最新的java即時(shí)聊天程序編寫方法,一起來(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編寫即時(shí)聊天程序】相關(guān)文章:

    Java怎么編寫走馬燈程序08-19

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

    如何編譯java程序09-28

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

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

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

    如何使用Swing編寫全屏程序09-20

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

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

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

    主站蜘蛛池模板: 国产午夜精品视频| 国产欧美日本精品| 国产精品色视频ⅹxxx| 久久久久久亚洲Av无码精品专口| 国产精品美女久久久久av爽 | 精品欧美一区二区三区久久久| 99国产精品久久| 久久精品国产亚洲AV大全| 久久乐国产精品亚洲综合| 亚洲综合一区二区国产精品| 久久精品天天中文字幕人妻| 午夜精品久久久久久影视777| 国产高清在线精品一区二区| 99在线精品视频观看免费| 亚洲AV无码国产精品色午友在线 | 日本一区二区三区精品中文字幕| 久热这里只有精品视频6| 久久免费国产精品| 国产精品日日摸夜夜添夜夜添1国产精品va欧美精 | 国产伦精品免编号公布| 欧美亚洲成人精品| 91精品国产91久久久久久蜜臀| 99热精品在线| 国产国产精品人在线视| 久久99国产综合精品女同| 亚洲精品国产精品乱码视色| 亚洲精品无码专区在线播放| 亚洲国产精品乱码一区二区 | 欧美日韩国产精品系列| 6080亚洲精品午夜福利| 亚洲国产精品第一区二区| 四虎影视国产精品永久在线| 精品国产福利第一区二区三区| 精品国产福利一区二区| 久久亚洲欧美国产精品| 日韩精品系列产品| 日韩精品区一区二区三VR| 精品无码人妻一区二区免费蜜桃| 乱色精品无码一区二区国产盗| 久久精品www人人爽人人| 国产精品亚洲A∨天堂不卡|