亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sparkplug_dev_guide.html.svn-base

?? 開源項目openfire的完整源程序
?? SVN-BASE
?? 第 1 頁 / 共 3 頁
字號:
</pre>
</fieldset>


<h3 id="changePresence">How can I be notified when the Spark user changes their presence?</h3>

<ol>
  <li>Implement Plugin.
  <li>Get the SessionManager from SparkManager.
  <li>Add your own PresenceListener to SessionManager.
</ol>

<fieldset>

    <legend>Receive notification when the Spark user changes their presence</legend>
<pre class="java">
    /**
     * Allows a plugin to be notified when the Spark users changes their
     * presence.
     */
    private void addPersonalPresenceListener(){
        SessionManager sessionManager = SparkManager.getSessionManager();

        sessionManager.addPresenceListener(new PresenceListener() {

            /**
             * Spark user changed their presence.
             * @param presence the new presence.
             */
            public void presenceChanged(Presence presence) {
                
            }
        });
    }
</pre>
</fieldset>

<h3 id="messageFilter">How can I add a message filter?</h3>

<ol>
  <li>Implement Plugin.
  <li>Get the ChatManager from SparkManager.
  <li>Create an instance of Message Filter.
  <li>Register with the ChatManager.
</ol>

<fieldset>

    <legend>Adding own Message Filter</legend>
<pre class="java">
    /**
     * Installs a new MessageFilter.
     */
    private void installMessageFilter() {
        // Retrieve the ChatManager from SparkManager
        ChatManager chatManager = SparkManager.getChatManager();

        MessageFilter messageFilter = new MessageFilter() {
            public void filter(Message message) {
                String currentBody = message.getBody();
                currentBody = currentBody.replaceAll("bad words", "good words");
                message.setBody(currentBody);
            }
        };

        chatManager.addMessageFilter(messageFilter);

        // Just remember to remove your filter if need be.
    }
</pre>
</fieldset>

<h3 id="createChatRoom">How can I create a person-to-person Chat Room</h3>

<ol>
  <li>Implement Plugin.
  <li>Get the ChatManager from SparkManager.
  <li>Create a new ChatRoom using the ChatManager.
  <li>Optionally make it the active ChatRoom using the ChatContainer.
</ol>

<fieldset>

    <legend>Creating Person-to-Person Chat Room</legend>
<pre class="java">
    /**
     * Creates a person to person Chat Room and makes it the active chat.
     */
    private void createPersonToPersonChatRoom(){
        
        // Get the ChatManager from Sparkmanager
        ChatManager chatManager = SparkManager.getChatManager();
        
        // Create the room.
        ChatRoom chatRoom = chatManager.createChatRoom("don@jivesoftware.com", "Don The Man", "The Chat Title");
        
        // If you wish to make this the active chat room.
        
        // Get the ChatContainer (This is the container for all Chat Rooms)
        ChatContainer chatContainer = chatManager.getChatContainer();
        
        // Ask the ChatContainer to make this chat the active chat.
        chatContainer.activateChatRoom(chatRoom);
    }
</pre>
</fieldset>

<h3 id="createConferenceRoom">How can I create a public Conference room?</h3>

<ol>
  <li>Implement Plugin.
  <li>Get the ChatManager from SparkManager.
  <li>Create a new conference ChatRoom using the ChatManager.
  <li>Optionally make it the active ChatRoom using the ChatContainer.
</ol>

<fieldset>

    <legend>Creating a Conference Room</legend>
<pre class="java">
    /**
     * Creates a person to person Chat Room and makes it the active chat.
     */
    private void createConferenceRoom() {

        // Get the ChatManager from Sparkmanager
        ChatManager chatManager = SparkManager.getChatManager();

        Collection serviceNames = null;

        // Get the service name you wish to use.
        try {
            serviceNames = MultiUserChat.getServiceNames(SparkManager.getConnection());
        }
        catch (XMPPException e) {
            e.printStackTrace();
        }

        // Create the room.
        ChatRoom chatRoom = chatManager.createConferenceRoom("BusinessChat", (String)serviceNames.toArray()[0]);

        // If you wish to make this the active chat room.

        // Get the ChatContainer (This is the container for all Chat Rooms)
        ChatContainer chatContainer = chatManager.getChatContainer();

        // Ask the ChatContainer to make this chat the active chat.
        chatContainer.activateChatRoom(chatRoom);
    }
}
</pre>
</fieldset>


<h3 id="addPreferences">How can I add my own Preferences?</h3>

<ol>
  <li>Implement Plugin.
  <li>Create a class that implements Preference.
  <li>Create a UI to associate with the Preference.
  <li>Register your new Preference with the PreferenceManager.
</ol>

<fieldset>

    <legend>Creating a Preference</legend>
<ul>
<li>Create a class that implements Preference. 
<pre class="java">
/**
 * $RCSfile: ,v $
 * $Revision: $
 * $Date:  $
 *
 * Copyright (C) 1999-2005 Jive Software. All rights reserved.
 *
 * This software is the proprietary information of Jive Software.
 * Use is subject to license terms.
 */
package com.jivesoftware.spark.examples.preferences;

import com.jivesoftware.spark.preference.Preference;
import com.jivesoftware.resource.LaRes;

import javax.swing.Icon;
import javax.swing.JComponent;

public class MyPreferences implements Preference {

    private MyPreferenceUI ui;

    public MyPreferences(){
        ui = new MyPreferenceUI();
    }


    public String getTitle() {
        return "Example Preferences";
    }

    public Icon getIcon() {
        return LaRes.getImageIcon(LaRes.ADD_IMAGE_24x24);
    }

    public String getTooltip() {
        return "Example tooltip in preference dialog";
    }

    public String getListName() {
        return "Examples";
    }

    public String getNamespace() {
        return "EXAMPLE";
    }

    public JComponent getGUI() {
        return ui;
    }

    public void load() {
        // Would load persisted information from file or server and
        // set the UI appropriately.
        ui.setShowChatHistory(true);
    }

    public void commit() {
        // Would persist the current state of the preferences.
        boolean showChatHistory = ui.isChatHistoryShown();

    }

    public boolean isDataValid() {
        return true;
    }

    public String getErrorMessage() {
        return null;
    }

    public Object getData() {
        return null;
    }

    public void shutdown() {
        // Do nothing.
    }
}

</pre>

<li>Create a UI class that your Preference will use.
<pre class="java">
package com.jivesoftware.spark.examples.preferences;

import com.jivesoftware.spark.util.ResourceUtils;

import javax.swing.JCheckBox;
import javax.swing.JPanel;

import java.awt.FlowLayout;

/**
 * Demonstrates a simple panel used to display a UI that can be used as
 * the Preference UI in the Preferences Dialog. This panel shows a simple
 * UI with accessors for setting the preference values / persistence.
 */
public class MyPreferenceUI extends JPanel {

    private JCheckBox showChatHistory;

    /**
     * Creates the default panel using FlowLayout as the Layout. But
     * GridBagLayout is the really only true layout :)
     */
    public MyPreferenceUI() {
        setLayout(new FlowLayout(FlowLayout.LEFT));

        buildUI();
    }

    private void buildUI() {
        showChatHistory = new JCheckBox();

        // Use Mnemonics for the CheckBox using ResourceUtils.
        ResourceUtils.resButton(showChatHistory, "&Show Chat History in Chat Window");

        // Add Button
        add(showChatHistory);
    }

    /**
     * Sets the UI based on previous preferences.
     * @param show true if Chat History to show up.
     */
    public void setShowChatHistory(boolean show){
        showChatHistory.setSelected(show);
    }

    /**
     * Returns true if Chat History should be shown.
     * @return true if history shown.
     */
    public boolean isChatHistoryShown(){
        return showChatHistory.isSelected();
    }


}

</pre>
<li>Register Preference class with Preference Manager.
<pre class="java">
  public void addPreference(){
     PreferenceManager preferenceManager = SparkManager.getPreferenceManager();
     preferenceManager.addPreference(new MyPreferences());
  }
</pre>
</ul>
</fieldset>



<h3 id="showAlert">How to show an alert, like when a new message comes in?</h3>

<fieldset><legend>How to show an alert, like when a new message comes in?</legend>

<pre class="java">
    // Get the ChatContainer from the ChatManager.
    
     ChatContainer chatContainer = ChatManager.getChatContainer();
     
     // Get the room you wish to be notified.
     ChatRoom chatRoom = chatContainer.getActiveChatRoom();
     chatContainer.startFlashing(chatRoom);
</pre>

</fieldset>

</body>
</html>


?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91麻豆国产自产在线观看| 亚洲国产精品久久久久秋霞影院| 久久成人麻豆午夜电影| 欧美疯狂做受xxxx富婆| 婷婷开心激情综合| 日韩欧美一二三| 国产麻豆精品在线| 中文子幕无线码一区tr| 91浏览器在线视频| 石原莉奈在线亚洲三区| 欧美成人免费网站| 粗大黑人巨茎大战欧美成人| 亚洲欧美另类小说| 欧美丰满美乳xxx高潮www| 国产河南妇女毛片精品久久久| 国产精品水嫩水嫩| 欧美日韩一区二区三区在线看| 免费视频一区二区| 国产日韩欧美综合一区| 91黄色免费网站| 久久99精品国产91久久来源| 久久久777精品电影网影网| 91麻豆国产自产在线观看| 午夜视频在线观看一区二区| 久久精品一区二区三区不卡| 色综合夜色一区| 精品一区二区三区免费观看| 国产精品美女久久久久久久 | 成人高清视频在线观看| 一区二区三区四区不卡在线| 日韩欧美一级特黄在线播放| 99久久综合精品| 美美哒免费高清在线观看视频一区二区| 欧美精品一区二区在线播放| 91久久国产综合久久| 黄色日韩三级电影| 亚洲一级片在线观看| 国产欧美中文在线| 91精品国产综合久久久久久久| 成人激情电影免费在线观看| 天天综合网 天天综合色| 亚洲国产高清不卡| 日韩欧美国产电影| 欧美日韩三级在线| 99久久99久久精品免费观看| 久久不见久久见中文字幕免费| 亚洲乱码国产乱码精品精小说| 精品噜噜噜噜久久久久久久久试看| 日本久久精品电影| 成人网在线免费视频| 蜜桃传媒麻豆第一区在线观看| 亚洲毛片av在线| 国产精品视频九色porn| 精品国产一区二区亚洲人成毛片| 日本高清视频一区二区| 成人黄页毛片网站| 国产精品主播直播| 久久国产剧场电影| 日本亚洲天堂网| 午夜一区二区三区在线观看| 亚洲美女屁股眼交3| 国产精品国产三级国产aⅴ入口| 久久精品一级爱片| 精品国产免费一区二区三区四区| 欧美精品色综合| 欧美日韩美女一区二区| 欧美亚洲国产一卡| 91丨porny丨国产| 不卡电影一区二区三区| 国产成人亚洲综合a∨婷婷图片| 久久99蜜桃精品| 麻豆国产欧美日韩综合精品二区 | 亚洲视频精选在线| 亚洲欧美日韩国产综合| 亚洲图片另类小说| 亚洲免费观看高清完整版在线观看熊 | 国产在线麻豆精品观看| 美女视频黄免费的久久 | 久久女同互慰一区二区三区| 欧美色电影在线| 欧美日韩精品一二三区| 欧美主播一区二区三区美女| 欧美在线免费观看视频| 一本大道久久a久久精二百| 色哟哟一区二区| 欧美日韩午夜在线| 欧美一区二区三区啪啪| 日韩欧美色综合网站| 精品国产乱码久久久久久1区2区| 欧美va亚洲va香蕉在线| 精品少妇一区二区| 国产婷婷色一区二区三区| 亚洲欧洲一区二区在线播放| 亚洲人成亚洲人成在线观看图片| 亚洲一区二区三区中文字幕 | 欧美成人猛片aaaaaaa| 久久久久国产精品人| 亚洲国产成人一区二区三区| 亚洲免费观看在线视频| 天天色综合成人网| 国产一区二三区| 色妹子一区二区| 3d成人动漫网站| 国产午夜亚洲精品羞羞网站| 亚洲欧洲国产日韩| 天天影视色香欲综合网老头| 国产在线播精品第三| 91性感美女视频| 欧美一区二区三区在| 国产欧美综合在线| 亚洲一区二区视频| 国产伦理精品不卡| 91婷婷韩国欧美一区二区| 欧美日韩的一区二区| 久久综合久久综合亚洲| 中文字幕综合网| 亚洲va韩国va欧美va精品| 国产精品一区二区免费不卡| 在线观看日产精品| 国产日韩欧美精品综合| 亚洲男人的天堂在线aⅴ视频| 久久99热99| 欧美午夜理伦三级在线观看| 欧美精品一区二区三区蜜桃 | 国产精品美日韩| 免费成人在线视频观看| 91亚洲精品一区二区乱码| 91精品国产综合久久婷婷香蕉| 久久精品夜色噜噜亚洲aⅴ| 亚洲第一综合色| 国产91精品欧美| 日韩美一区二区三区| 亚洲精品成人精品456| 国产一区二区三区美女| 欧美日韩一级黄| 中文字幕一区二区三区色视频 | 性感美女久久精品| 99综合电影在线视频| 欧美v亚洲v综合ⅴ国产v| 亚洲精品日韩一| 高清不卡一二三区| 精品国产免费视频| 日本中文在线一区| 欧美探花视频资源| 亚洲图片激情小说| 成人教育av在线| 久久久国产精华| 国内精品久久久久影院色| 在线91免费看| 亚洲动漫第一页| 91视频免费播放| 国产精品乱码妇女bbbb| 国产一区二区三区四区在线观看 | 在线一区二区三区做爰视频网站| 中文字幕精品—区二区四季| 麻豆精品在线视频| 欧美三区在线观看| 亚洲大片精品永久免费| 在线观看一区不卡| 亚洲亚洲精品在线观看| 一本久久精品一区二区| 亚洲同性gay激情无套| 99国产精品国产精品毛片| 欧美国产精品中文字幕| 国产麻豆日韩欧美久久| 久久精品一区二区三区不卡| 国精品**一区二区三区在线蜜桃| 精品久久免费看| 国产精品一区二区久久不卡 | 中国色在线观看另类| 粉嫩一区二区三区在线看| 国产精品人人做人人爽人人添 | 欧美性猛片aaaaaaa做受| 一区二区三区四区乱视频| 欧美午夜电影一区| 午夜激情久久久| 日韩精品在线一区二区| 国产在线视频精品一区| 国产日韩三级在线| a4yy欧美一区二区三区| 一区二区国产视频| 欧美日韩小视频| 精品综合免费视频观看| 国产欧美精品国产国产专区| 成人短视频下载| 亚洲一区在线免费观看| 日韩亚洲国产中文字幕欧美| 国模冰冰炮一区二区| 国产精品国产三级国产有无不卡 | 91精品国产一区二区| 久久国产精品99精品国产| 国产欧美精品区一区二区三区| 91丨porny丨蝌蚪视频| 午夜精品一区在线观看| 精品美女一区二区三区| 成人a区在线观看| 视频一区二区中文字幕| 久久久午夜精品理论片中文字幕| jlzzjlzz欧美大全| 天天操天天综合网|