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

📄 contactpanelpopupmenu.java

📁 一个类似QQ的在线通讯聊天软件原码,适合初学者参考学习。
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package openicq.gui;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.*;import openicq.Start;import openicq.data.Default;import openicq.data.Resource;import openicq.net.VisibilityBroadcast;import org.javalib.util.MessageBuffer;import JOscarLib.Management.Contact;import JOscarLib.Management.ContactList;/** * The <code>ContactListPopupMenu</code> class contains the popup menu of the * contact panel. * @author Hansgeorg Schwibbe * @copyright 2004 */public class ContactPanelPopupMenu extends JPopupMenu{  private MainFrame mainFrame;  private ContactPanel contactPanel;  protected JMenuItem jMenuItemMessage;  protected JMenuItem jMenuItemDetails;  protected JMenuItem jMenuItemAdd;  protected JMenuItem jMenuItemRename;  protected JMenuItem jMenuItemDelete;  /**   * Initializes a new instance of the class <code>ContactListPopupMenu</code>.   * @param parent the parent panel   */  public ContactPanelPopupMenu(JPanel parent)  {    super();    contactPanel = (ContactPanel) parent;    mainFrame = contactPanel.mainFrame;    String text;    ImageIcon imgIcon;    text = ((String[]) mainFrame.localized.get("contactPanel"))[2];    jMenuItemMessage = new JMenuItem(text);    imgIcon = new ImageIcon(Resource.ICON_SOURCE_POPUPMENU_ITEMS[0]);    jMenuItemMessage.setIcon(imgIcon);    jMenuItemMessage.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        action_openChat();      }    });    text = ((String[]) mainFrame.localized.get("contactPanel"))[4];    jMenuItemAdd = new JMenuItem(text);    imgIcon = new ImageIcon(Resource.ICON_SOURCE_POPUPMENU_ITEMS[2]);    jMenuItemAdd.setIcon(imgIcon);    jMenuItemAdd.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        action_addContact();      }    });    text = ((String[]) mainFrame.localized.get("contactPanel"))[3];    jMenuItemDetails = new JMenuItem(text);    imgIcon = new ImageIcon(Resource.ICON_SOURCE_POPUPMENU_ITEMS[1]);    jMenuItemDetails.setIcon(imgIcon);    jMenuItemDetails.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        action_showDetails();      }    });    text = ((String[]) mainFrame.localized.get("contactPanel"))[5];    jMenuItemRename = new JMenuItem(text);    imgIcon = new ImageIcon(Resource.ICON_SOURCE_POPUPMENU_ITEMS[3]);    jMenuItemRename.setIcon(imgIcon);    jMenuItemRename.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        action_renameContact();      }    });    text = ((String[]) mainFrame.localized.get("contactPanel"))[6];    jMenuItemDelete = new JMenuItem(text);    imgIcon = new ImageIcon(Resource.ICON_SOURCE_POPUPMENU_ITEMS[4]);    jMenuItemDelete.setIcon(imgIcon);    jMenuItemDelete.addActionListener(new ActionListener()    {      public void actionPerformed(ActionEvent e)      {        action_deleteContact();      }    });    this.add(jMenuItemMessage);    this.addSeparator();    this.add(jMenuItemDetails);    this.add(jMenuItemRename);    this.add(jMenuItemAdd);    this.addSeparator();    this.add(jMenuItemDelete);  }  /**   * Opens the message window of the chosen contact.   */  protected void action_openChat()  {    contactPanel.action_openChat();  }  /**   * Shows the details of the chosen contact.   */  protected void action_showDetails()  {    String title = ((String[]) mainFrame.localized.get("contactPanel"))[3];    if (mainFrame.showPasswordDialog(title) == false)    {      return;    }    Contact contact;    int index, size;    synchronized (Start.env)    {      size = Start.env.getKnownList().getContactListSize();      for (index = 0; index < size; index++)      {        contact = Start.env.getKnownList().get(index);        if (Start.env.getDisplayName(contact)                     .equals(contactPanel.jListContacts.getSelectedValue()))        {          mainFrame.userDetailsDialog.setContact(contact);          mainFrame.userDetailsDialog.setVisible(true);          return;        }      }      size = Start.env.getUnknownList().getContactListSize();      for (index = 0; index < size; index++)      {        contact = Start.env.getUnknownList().get(index);        if (Start.env.getDisplayName(contact)                     .equals(contactPanel.jListContacts.getSelectedValue()))        {          mainFrame.userDetailsDialog.setContact(contact);          mainFrame.userDetailsDialog.setVisible(true);          return;        }      }    }  }  /**   * Sets the chosen unknown contact to the contact list of known contacts.   */  protected void action_addContact()  {    String title = ((String[]) mainFrame.localized.get("contactPanel"))[4];    if (mainFrame.showPasswordDialog(title) == false)    {      return;    }    Contact contact;    String dialogId;    synchronized (Start.env)    {      int size = Start.env.getUnknownList().getContactListSize();      for (int index = 0; index < size; index++)      {        contact = Start.env.getUnknownList().get(index);        if (Start.env.getDisplayName(contact)                     .equals(contactPanel.jListContacts.getSelectedValue()))        {          Start.env.addKnownContact(contact);          Start.env.setKnownList(Start.env.sortContactList(Start.env.getKnownList()));          size = Start.env.getKnownList().getContactListSize();          for (index = 0; index < size; index++)          {            contact = Start.env.getKnownList().get(index);            if (mainFrame.userDetailsDialog.contact != null)            {              dialogId = mainFrame.userDetailsDialog.contact.getContactId();              if (dialogId.equals(contact.getContactId()))              {                mainFrame.userDetailsDialog.setContact(contact);                break;              }            }          }          contactPanel.initContacts();          Start.env.sendKnownList();          int ownId = Integer.parseInt(Start.env.getOwnContact().getContactId());          ContactList updateList = new ContactList();          updateList.addToContactList(contact);          contact.setIsInInvisibleList(true);          new VisibilityBroadcast(Start.env.getConnection(), ownId, updateList);          try          {            Thread.sleep(100);          }          catch (InterruptedException ie)          {            System.err.println(this.getClass().getName() + ": " + ie.toString());          }          contact.setIsInInvisibleList(false);          new VisibilityBroadcast(Start.env.getConnection(), ownId, updateList);          MessageBuffer errorBuffer = new MessageBuffer(true);          try          {            Start.env.saveContactList(Default.FOLDER_NAME_HOME                                      + "/"                                      + Start.env.getOwnContact()                                                 .getContactId() + "/"                                      + Default.FILE_NAME_KNOWN_LIST,                                      Start.env.getKnownList());          }          catch (Exception ex)          {            String msg = ((String[]) mainFrame.localized.get("errorMessages"))[9];            errorBuffer.append(msg);          }          try          {

⌨️ 快捷键说明

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