📄 bsbuddyfinderwinmanager.java
字号:
package edu.ou.kmi.buddyspace.plugins.buddyfinder.gui;
/*
* BSBuddyFinderWinManager.java
*
* Project: BuddySpace
* (C) Copyright Knowledge Media Institute 2005
*
*
* Created on 25 January 2005
*/
import java.util.*;
import java.awt.*;
import javax.swing.*;
import org.jabber.jabberbeans.util.*;
import org.jabber.jabberbeans.RosterItem;
import edu.ou.kmi.buddyspace.core.*;
import edu.ou.kmi.buddyspace.gui.*;
import edu.ou.kmi.buddyspace.utils.*;
import edu.ou.kmi.buddyspace.plugins.buddyfinder.core.*;
/**
* @author Chris Denham, Knowledge Media Institute, Open University, United Kingdom
*/
public class BSBuddyFinderWinManager extends WinManager implements BSBuddyFinderListener {
protected BSBuddyFinderBean buddyFinderBean = null;
protected BSPresenceBean presenceBean = null;
protected BSRosterBean rosterBean = null;
protected BSMainFrame mainFrame = null;
protected Image buddyFinderImage = null;
protected int id = 0;
/** Constructor */
public BSBuddyFinderWinManager(BSMainFrame mainFrame, JTabbedPane tabbedPane) {
super(tabbedPane);
this.mainFrame = mainFrame;
buddyFinderImage = Toolkit.getDefaultToolkit().getImage(ClassLoader.getSystemResource("images/browse.gif"));
}
/** Constructor */
public BSBuddyFinderWinManager(BSMainFrame mainFrame, JTabbedPane tabbedPane,
BSBuddyFinderBean buddyFinderBean) {
this(mainFrame, tabbedPane);
setBuddyFinderBean(buddyFinderBean);
}
/** Sets buddyFinder bean */
public void setBuddyFinderBean(BSBuddyFinderBean buddyFinderBean) {
if (this.buddyFinderBean != null)
this.buddyFinderBean.removeBuddyFinderListener(this);
this.buddyFinderBean = buddyFinderBean;
if (buddyFinderBean != null)
buddyFinderBean.addBuddyFinderListener(this);
this.buddyFinderBean = buddyFinderBean;
}
/** Sets presence bean */
public void setPresenceBean(BSPresenceBean presenceBean) {
this.presenceBean = presenceBean;
}
/** Gets presence bean */
public BSPresenceBean getPresenceBean() {
return presenceBean;
}
/** Sets roster bean */
public void setRosterBean(BSRosterBean rosterBean) {
this.rosterBean = rosterBean;
}
/** Opens new window for room */
public void openNewWindow(String jidStr) {
if (buddyFinderBean == null)
return;
String idStr = "BuddyFinder#" + id;
//id++; only want single instance otherwise profile udpates get confusing
DockableWindow win = getWindow(idStr);
if (win == null)
{
boolean dock = mainFrame.isDockingWindows();
win = new BSBuddyFinderWindow(mainFrame, this, idStr, jidStr,
jidStr, buddyFinderImage, dock);
addWindow(win, dock);
}
showWindow(win, true, true);
selectWindow(win);
}
/** Calls mainFrame to perform action */
public void callPerformAction(JID jid, String namespace) {
if (mainFrame != null)
mainFrame.performAction(jid, namespace);
}
/** Opens chat with the JID */
public void openChat(JID jid) {
if (mainFrame != null) {
mainFrame.openChatWindow(jid, true, true);
}
}
/** Sends message to JID */
public void sendMessage(JID jid) {
if (mainFrame != null) {
mainFrame.composeMessage(jid);
}
}
public boolean addBookmark(JID jid) {
if (mainFrame == null || jid == null) return false;
return mainFrame.addBookmark(jid, "jabber:iq:buddyfinder", "BuddyFinder");
}
/** Called when a buddyfinder result is received. */
public void buddyFinderResultReceived(Collection users, String requestID)
{
DockableWindow win = getWindow(requestID);
if (win instanceof BSBuddyFinderWindow)
{
BSBuddyFinderWindow bfWin = (BSBuddyFinderWindow) win;
bfWin.buddyFinderResponse(users);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -