• 大小: 1.16MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-08-29
  • 语言: 其他
  • 标签: swing  表情聊天  

资源简介

swing 实现的带表情聊天示例,可以图文混聊,可以设置字体,有聊天表情选择框功能,有悬浮提示功能,有聊天表情信息和文字的传送功能,原理简单,主要使用到的类和技术有JTextPane,JWindow,JFrame,UDP通讯

资源截图

代码片段和文件信息

package com.zou.chat;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.frame;
import java.awt.Point;
import java.awt.event.ComponentAdapter;
import java.awt.event.ComponentEvent;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.linkedList;
import java.util.List;
import javax.swing.BorderFactory;
import javax.swing.Box;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JComponent;
import javax.swing.Jframe;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextPane;
import javax.swing.ScrollPaneConstants;
import javax.swing.UIManager;
import javax.swing.UnsupportedLookAndFeelException;
import javax.swing.plaf.FontUIResource;
import javax.swing.text.BadLocationException;
import javax.swing.text.SimpleAttributeSet;
import javax.swing.text.styleConstants;
import javax.swing.text.styledDocument;
/**
 * 聊天窗体类
 * @author yangxing zou
 * @version 0.1
 */
public class Chatframe extends Jframe implements MouseListener{
private static final long serialVersionUID = 1L;
public final int fwidth = 550;
public final int fheight = 500;
/* 左边和右边要显示的界面 */
public JLabel left = new JLabel();
JScrollPane jspChat;
/*聊天内容*/
private JTextPane jpChat;
/*要发送的内容*/
private JTextPane jpMsg;
JScrollPane jspMsg;
/* 插入文字样式就靠它了*/
private styledDocument docChat = null;
private styledDocument docMsg = null; 

private JButton btnSend;
/*好友的ip*/
/*private String friendIP;*/
/*好友接收消息的端口*/
/*private int friendPort;*/
/*字体名称;字号大小;文字颜色*/
private JComboBox fontName = null fontSize = nullfontColor = null; 
/*插入按钮;清除按钮;插入图片按钮*/
private JButton b_shake=nullb_pic b_remove = null;
private static final Color TIP_COLOR = new Color(255 255 225);
 /* 错误信息气泡提示*/
private CoolToolTip error_tip;
/*表情框*/
private PicsJWindow picWindow;
private List myPicInfo = new linkedList();
private List receivdPicInfo = new linkedList();
class PicInfo{
/* 图片信息*/
int pos;
String val;
public PicInfo(int posString val){
this.pos = pos;
this.val = val;
}
public int getPos() {
return pos;
}
public void setPos(int pos) {
this.pos = pos;
}
public String getVal() {
return val;
}
public void setVal(String val) {
this.val = val;
}

}
public JButton getPicBtn(){
return b_pic;
}
public Chatframe() {
init();
}
/**
 * 插入图片
 * 
 * @param icon
 */
public void insertS

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        192  2011-10-19 15:31  使用说明.txt

     文件        286  2011-10-14 11:56  picChat\.classpath

     文件        383  2011-10-19 11:22  picChat\.project

     文件         86  2011-10-10 18:50  picChat\.settings\org.eclipse.core.resources.prefs

     文件        692  2011-10-19 15:18  picChat\bin\com\zou\chat\Chatframe$1.class

     文件        987  2011-10-19 15:18  picChat\bin\com\zou\chat\Chatframe$2.class

     文件       1290  2011-10-19 15:18  picChat\bin\com\zou\chat\Chatframe$3.class

     文件       3038  2011-10-19 15:18  picChat\bin\com\zou\chat\Chatframe$FontAndText.class

     文件        956  2011-10-19 15:18  picChat\bin\com\zou\chat\Chatframe$PicInfo.class

     文件       2376  2011-10-19 15:18  picChat\bin\com\zou\chat\Chatframe$receivMsgThread.class

     文件      15484  2011-10-19 15:18  picChat\bin\com\zou\chat\Chatframe.class

     文件        626  2011-10-19 13:38  picChat\bin\com\zou\chat\ChatPic.class

     文件        816  2011-10-19 13:38  picChat\bin\com\zou\chat\CoolToolTip$1.class

     文件       3500  2011-10-19 13:38  picChat\bin\com\zou\chat\CoolToolTip.class

     文件        410  2011-10-19 13:38  picChat\bin\com\zou\chat\MsgType.class

     文件       1806  2011-10-19 13:38  picChat\bin\com\zou\chat\PicsJWindow$1.class

     文件        777  2011-10-19 13:38  picChat\bin\com\zou\chat\PicsJWindow$2.class

     文件       4389  2011-10-19 13:38  picChat\bin\com\zou\chat\PicsJWindow.class

     文件       1810  2011-10-18 00:44  picChat\bin\com\zou\chat\qqdefaultface\0.gif

     文件       1582  2011-10-18 00:44  picChat\bin\com\zou\chat\qqdefaultface\1.gif

     文件       3716  2011-10-18 00:44  picChat\bin\com\zou\chat\qqdefaultface\10.gif

     文件       1780  2011-10-18 00:44  picChat\bin\com\zou\chat\qqdefaultface\100.gif

     文件       2443  2011-10-18 00:44  picChat\bin\com\zou\chat\qqdefaultface\101.gif

     文件       1446  2011-10-18 00:44  picChat\bin\com\zou\chat\qqdefaultface\102.gif

     文件       2166  2011-10-18 00:44  picChat\bin\com\zou\chat\qqdefaultface\103.gif

     文件       2169  2011-10-18 00:44  picChat\bin\com\zou\chat\qqdefaultface\104.gif

     文件       8033  2011-10-18 00:44  picChat\bin\com\zou\chat\qqdefaultface\11.gif

     文件       2247  2011-10-18 00:44  picChat\bin\com\zou\chat\qqdefaultface\12.gif

     文件       1736  2011-10-18 00:44  picChat\bin\com\zou\chat\qqdefaultface\13.gif

     文件       4006  2011-10-18 00:44  picChat\bin\com\zou\chat\qqdefaultface\14.gif

............此处省略224个文件信息

评论

共有 条评论