java编写即时聊天程序
怎样用java编写一个即时聊天程序呢?下面yjbys小编就为大家分享最新的`java即时聊天程序编写方法,一起来看看吧!
import .*;
import t.*;
import .*;
/**
* 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)
{
tStackTrace();
}
ize(150,15);
ize(150,15);
ocusable(true);
oreground();
oreground();
oreground(k);
(dataList,"North");
Panel p1=new Panel();
Panel p2=new Panel();
ayout(new BorderLayout());
ayout(new BorderLayout());
(p1,"Center");
(p2,"South");
(Lip,"West");
(Ldata,"East");
(Tfip,"West");
(Tfdata,"East");
new Thread(new Runnable()
{
public void run()
{
byte[] buf=new byte[1024];
DatagramPacket packet=new DatagramPacket(buf,1024);
while(true)
{
try
{
ive(packet);
(new String(buf,0,ength())+" FROM "+ddress()ostAddress()+":"+ort(),0);
}
catch(Exception e)
{
if(!osed())
{
tStackTrace();
}
}
}
}
}
)t();
ctionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
byte[] buf=new byte[1024];
buf=ext()ytes();
DatagramPacket packet=new DatagramPacket(buf,th,
yName(ext()),5000);
(packet);
(new String(buf,0,ength())+" TO "+ddress()ostAddress()+":"+ort(),0);
}
catch(Exception x)
{
tStackTrace();
}
ext("");
}
}
);
MenuBar menuBar = new MenuBar();
Menu menuFile = new Menu();
MenuItem menuFileExit = new MenuItem();
abel("文件");
abel("退出");
// Add action the menu button
ctionListener
(
new ActionListener() {
public void actionPerformed(ActionEvent e) {
owClosed();
}
}
);
(menuFileExit);
(menuFile);
setTitle("我的聊天程序");
setMenuBar(menuBar);
setSize(new Dimension(310, 500));
esizable(false);
// Add Window listener.
indowListener
(
new WindowAdapter() {
public void windowClosing(WindowEvent e) {
owClosed();
}
}
);
}
/**
* Shutdown procedure when run as an application.
*/
protected void windowClosed() {
// TODO: Check if it is safe to close the application
// Exit application.
e();
(0);
}
public static void main(String[] args) {
// Create application frame.
Chatp2pFrame frame = new Chatp2pFrame();
// Show frame
isible(true);
}
}
-
java面试题大全带答案
为了能够提高自身能力,每年都会有大量的人员参加Java认证考试。下面是小编整理的关于java面试题大全带答案,欢迎大家参考!isoracle.ismajordiffereneceoracle8iandoracle9i.mesomethingurself.setellmeaboutoops.issingleinheritance.ismultipleinheritance.java...
-
如何用JSP连接SQLServer数据库
Java基础用JSP连接SQLServer数据库,是我们在日常中经常用到的'。下面YJBYS小编为大家整理了具体的用法,希望对你有所帮助。,,复制到tomcat目录\common\lib\环境设置:jdbc驱动程序,,复制到tomcat目录\common\lib\2.设置环境变量classpath数据库环境sql-server20...
-
2016年java数组操作方法大全
使用java数组,必须经过两个步骤,声明数组和分配内存给该数组,那么java怎么分配内存给数组呢?数组的操作方法又有哪些呢?下面是yjbys精心整理的Java数组操作的10大方法,大部分代码都来自StackOverflow。希望对大家学习有所帮助!定义一个Java数组String[]aArray=ne...
-
Java基础知识点归纳
对于刚刚接触Java的人,java基础知识技术点繁多,那么yjbys小编为大家汇总最全java知识点如下,仅供大家参考学习!1.JVM相关(包括了各个版本的特性)对于刚刚接触Java的人来说,JVM相关的知识不一定需要理解很深,对此里面的概念有一些简单的了解即可。不过对于一个有着3...