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

    時間:2024-08-26 09:46:45 JAVA認證 我要投稿
    • 相關推薦

    java編寫即時聊天程序

      怎樣用java編寫一個即時聊天程序呢?下面yjbys小編就為大家分享最新的java即時聊天程序編寫方法,一起來看看吧!

      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("輸入對方的IP地址:");

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

      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編寫即時聊天程序】相關文章:

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

    Java怎么編寫Oracle存儲過程09-15

    如何編譯java程序09-28

    Java編寫計算器的的常見做法01-22

    Java程序開發與運行環境06-21

    實現鼠標畫圖的Java程序06-22

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

    sun認證java程序員須知Java日志框架09-11

    java程序中如何調用linux命令08-27

    初級java程序員面試要求01-22

    主站蜘蛛池模板: 日本五区在线不卡精品| 精品一区二区三区在线观看视频| 人人妻人人澡人人爽精品欧美 | 亚洲一区爱区精品无码| 92国产精品午夜福利免费| 精品人妻中文av一区二区三区| 老司机午夜网站国内精品久久久久久久久 | 久久99国产精品久久99果冻传媒| 少妇人妻无码精品视频app| 欧美日韩成人精品久久久免费看 | 免费短视频软件精品一区二区| 青青青青久久精品国产| 99RE6热在线精品视频观看| 少妇人妻偷人精品免费视频| 日韩精品亚洲专区在线观看| 国产一在线精品一区在线观看| 2021最新国产精品一区| 精品乱人伦一区二区三区| 国产精品99久久99久久久| 精品无码一区二区三区爱欲 | 国产精品美女网站| 91精品日韩人妻无码久久不卡| 99久久99这里只有免费的精品| 孩交VIDEOS精品乱子| 国内精品人妻无码久久久影院| 人妻少妇精品视频二区| 亚洲国产精品VA在线观看麻豆| 在线精品亚洲一区二区小说 | 亚洲综合精品网站在线观看| 亚洲精品永久在线观看| 亚洲中文字幕无码久久精品1 | 国产国拍亚洲精品福利| 2021年精品国产福利在线| 国产成人1024精品免费| 国产精品国产欧美综合一区 | 国产精品成人va在线观看| 国产精品99精品久久免费| 97精品人妻系列无码人妻| 91原创国产精品| 欧美精品高清在线观看| 成人国产精品秘 果冻传媒在线|