📄 anyoutcomingpacketlistener.java
字号:
/* Copyright (C) 2003 Adam Olsen This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 1, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */package com.valhalla.jbother.jabber.smack;import java.util.Date;import java.util.ResourceBundle;import java.util.Locale;import javax.swing.SwingUtilities;import org.jivesoftware.smack.PacketListener;import org.jivesoftware.smack.packet.Packet;import com.valhalla.jbother.BuddyList;import com.valhalla.jbother.ConversationText;import com.valhalla.jbother.jabber.BuddyStatus;import com.valhalla.jbother.jabber.ParsedBuddyInfo;/** * Listens for all outcoming packets, and sends it to the XML Console window (if * exists) * * @author Andrey Zakirov * @version 0.1 */public class AnyOutcomingPacketListener implements PacketListener { private ResourceBundle resources = ResourceBundle.getBundle( "JBotherBundle", Locale.getDefault()); /** * Constructor for the packet listener */ public AnyOutcomingPacketListener() { } /** * Processes the message packet * * @param packet * packet to process */ public void processPacket(Packet packet) { final String tempMessage; String parsed = AnyIncomingPacketListener.formatXML(packet.toXML()); String text = ConversationText.replaceText(parsed, false, false); String lines[] = text.split("\n"); text = ""; for (int i = 0; i < lines.length; i++) { text += "<font color='maroon'>" + lines[i] + "</font>\n"; } text = text.replaceAll("\n$", ""); tempMessage = text; String from = resources.getString("xmlConsole"); ParsedBuddyInfo info = new ParsedBuddyInfo(from); String userId = info.getUserId().toLowerCase(); final BuddyStatus buddyStatus = BuddyList.getInstance().getBuddyStatus( userId); if (buddyStatus.getConversation() == null) { return; } SwingUtilities.invokeLater(new Runnable() { public void run() { buddyStatus.getConversation().receiveMessage("", "", tempMessage, "", new Date(), false, false); } }); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -