userstatuslistener.java

来自「网站即时通讯系统」· Java 代码 · 共 123 行

JAVA
123
字号
/* 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 + =
减小字号Ctrl + -
显示快捷键?