⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userstatuslistener.java

📁 网站即时通讯系统
💻 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.groupchat;import com.valhalla.jbother.jabber.MUCBuddyStatus;/** * Listens for subject changes in a room *  * @author Adam Olsen * @version 1.0 */public class UserStatusListener implements        org.jivesoftware.smackx.muc.UserStatusListener {    private ChatRoomPanel window;    /**     * Sets up the group chat subject listener     *      * @param window     *            the window that this litener belongs to     */    public UserStatusListener(ChatRoomPanel window) {        this.window = window;    }    private void setRole(String role) {        MUCBuddyStatus buddy = window.getBuddyStatus(window.getRoomName() + "/"                + window.getChat().getNickname());        buddy.setRole(role);        window.getNickList().repaint();    }    private void setAffiliation(String aff) {        MUCBuddyStatus buddy = window.getBuddyStatus(window.getRoomName() + "/"                + window.getChat().getNickname());        buddy.setAffiliation(aff);        window.getNickList().repaint();    }    private MUCBuddyStatus getBuddy() {        MUCBuddyStatus buddy = window.getBuddyStatus(window.getRoomName() + "/"                + window.getChat().getNickname());        return buddy;    }    public void adminGranted() {        setAffiliation("admin");        window.serverNoticeMessage("You have been granted admin");    }    public void adminRevoked() {        setAffiliation("member");        window.serverNoticeMessage("Admin status has been revoked");    }    public void banned(String user, String reason) {        window.serverErrorMessage("You were banned by " + user + ": " + reason);        window.disconnect();    }    public void kicked(String user, String reason) {        window.serverErrorMessage("You were kicked by " + user + ": " + reason);        window.disconnect();    }    public void membershipGranted() {        setAffiliation("member");        window.serverNoticeMessage("You have been granted membership");    }    public void membershipRevoked() {        setAffiliation("none");        window.serverNoticeMessage("Membership status has been revoked");    }    public void moderatorGranted() {        setRole("moderator");        window.serverNoticeMessage("You have been granted moderator");    }    public void moderatorRevoked() {        setRole("participant");        window.serverNoticeMessage("Moderator status has been revoked");    }    public void ownershipGranted() {        setAffiliation("owner");        window.serverNoticeMessage("You have been granted ownership");    }    public void ownershipRevoked() {        setAffiliation("admin");        window.serverNoticeMessage("Ownership has been revoked");    }    public void voiceGranted() {        setRole("participant");        window.serverNoticeMessage("You have been granted voice");    }    public void voiceRevoked() {        setRole("visitor");        window.serverNoticeMessage("Voice has been revoked");    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -