知识大全 java聊天窗口的实现

Posted

篇首语:努力尽今夕,少年犹可夸。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 java聊天窗口的实现相关的知识,希望对你有一定的参考价值。

  编写一数据报通信程序 实现简单的聊天功能

  

   聊天内容 和 输入文本 分别为当前聊天的历史信息和当前要传送出去的聊天文本 确定 清空 退出 三个按钮分别实现发送当前聊天文本 清空当前聊天文本和退出系统的功能 import java awt Font;

  import java awt event ActionEvent;

  import java awt event ActionListener;

  import java awt event WindowEvent;

  import java awt event WindowListener;

  import DatagramPacket;

  import DatagramSocket;

  import InetAddress;

  import SocketException;

  import javax swing JButton;

  import javax swing JFrame;

  import javax swing JLabel;

  import javax swing JScrollBar;

  import javax swing JScrollPane;

  import javax swing JTextArea;

  import javax swing JTextField;

  public class Frame extends JFrame implements WindowListener

  private JTextArea text;

  private JTextField ipText;

  private JTextField sendText;

  private JButton button;

  private JButton button ;

  private JButton button ;

  private DatagramSocket socket;

  private JScrollBar vsBar;

  public Frame()

  setTitle( 聊天器 );

  setBounds( );

  text=new JTextArea();

  text setEditable(true);

  setLayout(null);

  JScrollPane textPanel = new JScrollPane(text);

  vsBar = textPanel getVerticalScrollBar();

  textPanel setBounds( );

  getContentPane() add(textPanel);

  JLabel label=new JLabel( 请输入对方IP );

  label setFont(new Font( Font BOLD ));

  label setBounds( );

  getContentPane() add(label);

  ipText = new JTextField();

  ipText setBounds( );

  getContentPane() add(ipText);

  button=new JButton();

  button setText( 确定 );

  button setBounds( );

  button setFont(new Font( Font BOLD ));

  getContentPane() add(button);

  button addActionListener(new send());

  button =new JButton( 清空 );

  button setBounds( );

  button setFont(new Font( Font BOLD ));

  getContentPane() add(button );

  button addActionListener(new clear());

  button =new JButton( 退出 );

  button setBounds( );

  button setFont(new Font( Font BOLD ));

  getContentPane() add(button );

  button addActionListener(new exit());

  this addWindowListener(this);

  sendText = new JTextField();

  sendText setBounds( );

  getContentPane() add(sendText);

  //server();

  pack();

  setVisible(true);

  

  class send implements ActionListener

  public void actionPerformed(ActionEvent e)

  try

  String ip=ipText getText();

  InetAddress address=InetAddress getByName(ip);

  byte[] data=sendText getText() getBytes();

  DatagramPacket dp=new DatagramPacket(data data length address );

  String myip=InetAddress getLocalHost() getHostAddress();

  text append(myip+ :\\n +sendText getText()+ \\n );

  socket send(dp);

  sendText setText(null);

  catch(Exception e )

  System out println(e );

  

  

  

  class clear implements ActionListener

  public void actionPerformed(ActionEvent e)

  text setText( );

  

  

  class exit implements ActionListener

  public void actionPerformed(ActionEvent e)

  System exit( );

  

  

  private void server()

  try

  socket=new DatagramSocket( );

  byte[] buf=new byte[ ];

  final DatagramPacket dp =new DatagramPacket(buf buf length);

  Runnable runnable=new Runnable()

  public void run()

  while(true)

  try

  Thread sleep( );

  socket receive(dp );

  String message=new String(dp getData() dp getLength());

  String ip=dp getAddress() getHostAddress();

  if(!InetAddress getLocalHost() getHostAddress() equals(ip))

  text append(ip+ :\\n +message+ \\n );

  catch(Exception e)

  System out println(e);

  

  

  

  ;

  new Thread(runnable) start();

   catch (SocketException e )

  e printStackTrace();

  

  

  public static void main(String[] args)

  Frame frame=new Frame();

  

  public void windowActivated(WindowEvent e)

  // TODO Auto generated method stub

  

  public void windowClosed(WindowEvent e)

  // TODO Auto generated method stub

  

  public void windowClosing(WindowEvent e)

  // TODO Auto generated method stub

  System exit( );

  

  public void windowDeactivated(WindowEvent e)

  // TODO Auto generated method stub

  

  public void windowDeiconified(WindowEvent e)

  // TODO Auto generated method stub

  

  public void windowIconified(WindowEvent e)

  // TODO Auto generated method stub

  

  public void windowOpened(WindowEvent e)

  // TODO Auto generated method stub

  

cha138/Article/program/Java/hx/201311/25580

相关参考

知识大全 JS+CSS打造可拖动的聊天窗口层(兼容)

JS+CSS打造可拖动的聊天窗口层(兼容)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  <

知识大全 qq聊天记录不能保存 聊天窗口关闭再打开记录就不见了 聊天记录里全是空的 重装QQ也没用

qq聊天记录不能保存聊天窗口关闭再打开记录就不见了聊天记录里全是空的重装QQ也没用  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内

知识大全 Java获取窗口鼠标坐标以及键盘按键

Java获取窗口鼠标坐标以及键盘按键  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java中的

知识大全 Java拖放文件到Swing窗口

Java拖放文件到Swing窗口  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  经过测试是没有问

知识大全 用PHP+java实现自动新闻滚动窗口

用PHP+java实现自动新闻滚动窗口  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  showp

知识大全 怎么去调查老公手机上的微信聊天记录

怎么去调查老公手机上的微信聊天记录查看微信聊天记录可以进行以下步骤:1、登陆微信以后,进入到聊天窗口页面。2、点击好友,进入到和好友聊天的窗口,这时就可以看到好友的聊天记录,但是只能看最近的消息。3、

知识大全 Java UDP聊天程序

JavaUDP聊天程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  importjavaawt

知识大全 用Java实现MSN Messenger聊天

用Java实现MSNMessenger聊天  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  现在的

知识大全 java多线程控制台聊天室

  packagetfthread;  importjavaioBufferedReader;  importjavaioIOException;  importjavaioInputStreamRe

知识大全 Java Socket 编程——多线程网络聊天程序

JavaSocket编程——多线程网络聊天程序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  用