av手机免费在线观看,国产女人在线视频,国产xxxx免费,捆绑调教一二三区,97影院最新理论片,色之久久综合,国产精品日韩欧美一区二区三区

JAVA認(rèn)證

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

時(shí)間:2024-06-12 08:42:39 JAVA認(rèn)證 我要投稿
  • 相關(guān)推薦

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

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

  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與Java web有什么不同01-22

計(jì)算機(jī)二級(jí)Java語言程序設(shè)計(jì)考試試題09-06

編導(dǎo)專業(yè)編寫故事的技巧02-17

社交技巧聊天技巧04-25

商務(wù)場(chǎng)合的網(wǎng)絡(luò)聊天禮儀04-22

Java代碼的基本知識(shí)09-03

Java語言中的流程控制09-05

Java獲取當(dāng)前的系統(tǒng)時(shí)間的方法11-03

企業(yè)能源審計(jì)的程序02-13

旅游投訴的處理程序04-09