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實現二叉樹遍歷算法在JAVA中實現二叉樹,程序如下://********************************************************************//filename://purpose:testabinarytreewithjava//date:2002/12/18//author:flyfan//ver:0.1//****************************************...
-
java基礎面試題2017
Java平台是基於Java語言的平台。這樣的平台目前非常流行,因此微軟公司推出了與之競爭的平台以及模仿Java的C#語言。以下是關於java基礎面試題,希望大家認真閲讀!非技術問題研究比較深入的領域有哪些;對業內信息的關注渠道有哪些;最近都讀哪些書;自己最擅長的技術...
-
Java程序中使用浮點數和小數的技巧
許多程序員在其整個開發生涯中都不曾使用定點或浮點數,可能的例外是,偶爾在計時測試或基準測試程序中會用到。下面小編準備了關於Java程序中使用浮點數和小數的技巧,歡迎大家參考!雖然幾乎每種處理器和編程語言都支持浮點運算,但大多數程序員很少注意它。這容易理...
-
XML入門知識彙總
XML是可擴展標記語言,標準通用標記語言的子集,是一種用於標記電子文件使其具有結構性的標記語言。下面小編準備了關於XML的入門知識,歡迎大家參考!是用來組織數據結構的結構數據包括如:電子數據表、地址簿、控制器參數、財務交易及技術繪圖等。XML是一系列文字格式...