<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

    主站蜘蛛池模板: 亚洲精品色婷婷在线影院| 少妇人妻无码精品视频app| 亚洲精品一级无码鲁丝片| 2020国产精品| 91精品国产品国语在线不卡| 少妇人妻偷人精品无码视频新浪| 国产精品无打码在线播放| 国产精品精品自在线拍| 合区精品中文字幕| 国产一区二区精品久久岳| 国内精品免费在线观看| 亚洲国产精品无码久久久蜜芽| 国产小呦泬泬99精品| 国内精品免费在线观看| 久久九九精品99国产精品| 午夜精品久久久久久| 精品露脸国产偷人在视频| 亚洲第一精品福利| 99久久久精品免费观看国产| 无码人妻精品一区二区三区在线| 日本熟妇亚洲欧美精品区| 国产亚洲曝欧美不卡精品| 91不卡在线精品国产| 久久国产乱子伦精品免费强| 500av导航大全精品| 国产精品偷伦视频观看免费 | 国产成人精品AA毛片| 亚洲AV乱码久久精品蜜桃| 中文国产成人精品久久亚洲精品AⅤ无码精品| 精品人妻少妇一区二区三区在线| 亚洲国产精品第一区二区| 久久99热国产这有精品| 精品亚洲综合在线第一区| 久久精品嫩草影院| 四虎影永久在线观看精品| 亚洲综合一区二区精品导航| 99国产精品国产免费观看| 99久久精品免费看国产| 国产精品手机在线观看你懂的| 国产综合色产在线精品| 久久久99精品一区二区|