?? buddylistpanel.java
字號:
package connex.session.desktop;
import java.awt.*;
import javax.swing.*;
import java.awt.event.MouseEvent;
import java.awt.event.MouseAdapter;
import javax.swing.event.TreeSelectionEvent;
import javax.swing.event.TreeSelectionListener;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import connex.session.plugin.PluginMenuAction;
import connex.session.plugin.PluginDescriptor;
import connex.session.plugin.PluginManager;
import connex.session.plugin.Plugin;
public class BuddyListPanel extends JPanel {
private BorderLayout borderLayout2 = new BorderLayout();
private JScrollPane jScrollPane1 = new JScrollPane();
private BuddyList buddyList = null;
private Point lastPosition;
private JPopupMenu jPopupMenu1 = new JPopupMenu();
private JMenuItem jMenuItem1 = new JMenuItem();
private JMenuItem jMenuItem2 = new JMenuItem();
private JMenuItem jMenuItem4 = new JMenuItem();
private JMenuItem mItem = null;
public BuddyListPanel(BuddyList bl) {
this.buddyList = bl; //
try {
jbInit();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
this.setLayout(borderLayout2);
jPopupMenu1.setInvoker(buddyList);
jMenuItem1.setText("Start private Chate");
jMenuItem1.addActionListener(new BuddyListPanel_jMenuItem1_actionAdapter(this));
jMenuItem2.setEnabled(true);
jMenuItem2.setText("Info");
jMenuItem2.addActionListener(new BuddyListPanel_jMenuItem2_actionAdapter(this));
jMenuItem4.setEnabled(false);
jMenuItem4.setText("Cotent suchen");
buddyList.addMouseListener(new BuddyListPanel_tree_mouseAdapter(this));
buddyList.addTreeSelectionListener(new BuddyListPanel_tree_treeSelectionAdapter(this));
this.add(jScrollPane1, java.awt.BorderLayout.CENTER);
jScrollPane1.getViewport().add(buddyList);
jPopupMenu1.add(jMenuItem1);
jPopupMenu1.addSeparator();
jPopupMenu1.add(jMenuItem2);
jPopupMenu1.addSeparator();
jPopupMenu1.add(jMenuItem4);
}
public BuddyList getBuddyList() {
return this.buddyList;
}
public void setPlugin(PluginDescriptor desc) {
mItem = new JMenuItem("start " + desc.getName());
mItem.addActionListener(new PluginMenuAction(this, desc));
jPopupMenu1.add(mItem);
}
public void removePlugin(String name) {
for (int i = 4; i < jPopupMenu1.getComponentCount(); i++) {
mItem = (JMenuItem) jPopupMenu1.getComponent(i);
if (mItem.getText().endsWith(name)) {
jPopupMenu1.remove(i);
}
}
}
public void buddyList_mouseClicked(MouseEvent e) {
if (e.getButton() == 3) {
buddyList.setSelectionRow(buddyList.getRowForLocation(e.getX(), e.getY()));
Object o = buddyList.getLastSelectedPathComponent();
if (o instanceof UserNode) {
UserNode user = (UserNode) o;
if (user.getState().equals("online")) {
jPopupMenu1.show(buddyList, e.getX(), e.getY());
lastPosition = e.getPoint();
}
}
}
}
public void buddyList_valueChanged(TreeSelectionEvent e) {
}
public void Plugin_Item_actionPerformed(ActionEvent e) {
Object o = buddyList.getLastSelectedPathComponent();
if (o instanceof UserNode) {
UserNode user = (UserNode) o;
//Plugin pe = PluginManager.getInstance().getPlugin(e.getActionCommand());
Plugin pe = PluginManager.getInstance().loadConcretePlugin(e.getActionCommand());
if (pe != null) {
pe.createSession(user.getId());
}
}
}
public void jMenuItem1_actionPerformed(ActionEvent e) {
UserNode user = (UserNode) buddyList.getLastSelectedPathComponent();
}
public void jMenuItem2_actionPerformed(ActionEvent e) {
Object o = buddyList.getLastSelectedPathComponent();
if (o instanceof UserNode) {
UserNode user = (UserNode) o;
ProfileUI prof = new ProfileUI(user.getId());
int x = (int) lastPosition.getX();
int y = (int) lastPosition.getY();
prof.setLocation(buddyList.getLocationOnScreen().x + x,
buddyList.getLocationOnScreen().y + y);
prof.setVisible(true);
}
}
}
class BuddyListPanel_jMenuItem2_actionAdapter implements ActionListener {
private BuddyListPanel adaptee;
BuddyListPanel_jMenuItem2_actionAdapter(BuddyListPanel adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem2_actionPerformed(e);
}
}
class BuddyListPanel_jMenuItem1_actionAdapter implements ActionListener {
private BuddyListPanel adaptee;
BuddyListPanel_jMenuItem1_actionAdapter(BuddyListPanel adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jMenuItem1_actionPerformed(e);
}
}
class Plugins_actionAdapter implements ActionListener {
private BuddyListPanel adaptee;
Plugins_actionAdapter(BuddyListPanel adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.Plugin_Item_actionPerformed(e);
}
}
class BuddyListPanel_tree_mouseAdapter extends MouseAdapter {
private BuddyListPanel adaptee;
BuddyListPanel_tree_mouseAdapter(BuddyListPanel adaptee) {
this.adaptee = adaptee;
}
public void mouseClicked(MouseEvent e) {
adaptee.buddyList_mouseClicked(e);
}
}
class BuddyListPanel_tree_treeSelectionAdapter implements TreeSelectionListener {
private BuddyListPanel adaptee;
BuddyListPanel_tree_treeSelectionAdapter(BuddyListPanel adaptee) {
this.adaptee = adaptee;
}
public void valueChanged(TreeSelectionEvent e) {
adaptee.buddyList_valueChanged(e);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -