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

📄 buddylistbuddiesmenu.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.menus;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.KeyEvent;import java.awt.*;import java.util.Locale;import java.util.ResourceBundle;import javax.swing.*;import org.jivesoftware.smack.packet.Presence;import com.valhalla.gui.Standard;import com.valhalla.jbother.*;import com.valhalla.jbother.jabber.BuddyStatus;import com.valhalla.jbother.groupchat.GroupChatBookmarks;import com.valhalla.settings.Settings;/** * Buddies menu - contains all the other menus - excluding the help menu * * @author Adam Olsen * @author Andrey Zakirov * @version 1.0 */public class BuddyListBuddiesMenu extends JPopupMenu {    private BuddyList blist;    private ResourceBundle resources = ResourceBundle.getBundle(            "JBotherBundle", Locale.getDefault());    private JMenuItem addBuddyItem = new JMenuItem(resources            .getString("addBuddy"));    private JMenuItem signOnItem = new JMenuItem(resources.getString("signOn"));    private JMenuItem quitItem = new JMenuItem(resources            .getString("quitButton"));    private JMenu servicesMenu = new JMenu(resources            .getString("jabberServices"));    private JMenuItem joinChatItem = new JMenuItem(resources            .getString("joinGroupChat"));    private JMenuItem discoItem = new JMenuItem(resources            .getString("serviceDiscovery"));    private JMenuItem blankItem = new JMenuItem(resources            .getString("blankMessage"));    private JMenuItem registerItem = new JMenuItem(resources            .getString("registerForService"));    private BuddyListOptionsMenu optionsMenu = new BuddyListOptionsMenu();    private JMenuItem switchItem = new JMenuItem(resources            .getString("switchProfile"));    private JMenuItem editItem = new JMenuItem(resources            .getString("editAccount"));    private JMenuItem infoItem = new JMenuItem(resources            .getString("editInformation"));     private JMenu profileMenu = new JMenu("Profile");    /**     * Creates the buddies menu     *     * @param blist     *            the buddy list to attach this menu to     */    public BuddyListBuddiesMenu(BuddyList blist) {        super("JBother");        if (System.getProperty("mrj.version") != null) {//            setText(resources.getString("actions"));//            setMnemonic(KeyEvent.VK_A);        } else {//            setMnemonic(KeyEvent.VK_J);        }        addBuddyItem.setMnemonic(KeyEvent.VK_A);        quitItem.setMnemonic(KeyEvent.VK_Q);        signOnItem.setMnemonic(KeyEvent.VK_L);        servicesMenu.setMnemonic(KeyEvent.VK_J);        joinChatItem.setMnemonic(KeyEvent.VK_G);        blankItem.setMnemonic(KeyEvent.VK_B);        switchItem.setMnemonic(KeyEvent.VK_S);        editItem.setMnemonic(KeyEvent.VK_E);        optionsMenu.setMnemonic(KeyEvent.VK_O);        profileMenu.setMnemonic(KeyEvent.VK_E);        discoItem.setMnemonic(KeyEvent.VK_S);        registerItem.setMnemonic(KeyEvent.VK_R);        this.blist = blist;        initComponents();    }    public void logOn() {        signOnItem.setText(resources.getString("signOff"));    }    public void logOff() {        signOnItem.setText(resources.getString("signOn"));    }    /**     * Sets up the visual components     */    private void initComponents() {        MenuActionListener listener = new MenuActionListener();        if (!JBother.kiosk_mode) {            joinChatItem.addActionListener(new MenuActionListener());            addBuddyItem.addActionListener(listener);            blankItem.addActionListener(listener);            signOnItem.addActionListener(listener);            registerItem.addActionListener(listener);            discoItem.addActionListener(listener);            infoItem.addActionListener(listener);            switchItem.addActionListener(listener);            editItem.addActionListener(listener);            add(addBuddyItem);            addSeparator();            add(blankItem);            add(joinChatItem);            addSeparator();            servicesMenu.add(discoItem);            servicesMenu.add(registerItem);            add(servicesMenu);            profileMenu.add(switchItem);            profileMenu.add(editItem);            profileMenu.add(infoItem);            add(profileMenu);            add(optionsMenu);            if (System.getProperty("mrj.version") == null)            {                add(new BuddyListHelpMenu());            }            addSeparator();            add(signOnItem);        }        quitItem.addActionListener(listener);        add(quitItem);    }    /**     * @param var     *            true if this is OS X     */    public void setOSX(boolean var) {        if (var) {            remove(quitItem);        } else {//            if (!isMenuComponent(quitItem))//                add(quitItem);        }        optionsMenu.setOSX(var);    }    /**     * Listens for an item to be clicked     *     * @author Adam Olsen     * @version 1.0     */    class MenuActionListener implements ActionListener {        public void actionPerformed(ActionEvent e) {            if (e.getSource() == quitItem)                blist.quitHandler();            else if (e.getSource() == switchItem)                switchHandler();            else if (e.getSource() == editItem)                editHandler();            else if (e.getSource() == signOnItem)                signOnHandler();            else {                if (!BuddyList.getInstance().checkConnection()) {                    BuddyList.getInstance().connectionError();                    return;                }                if (e.getSource() == addBuddyItem)                    new AddBuddyDialog().setVisible(true);                else if (e.getSource() == blankItem) {                    MessagePanel panel = new MessagePanel();                    MessageDelegator.getInstance().showPanel(panel);                    MessageDelegator.getInstance().frontFrame(panel);                } else if (e.getSource() == joinChatItem)                {                    GroupChatBookmarks gc = new GroupChatBookmarks(BuddyList.getInstance()                            .getTabFrame());                    gc.load();                    gc.setVisible(true);                }                else if (e.getSource() == registerItem)                    registrationHandler();                else if (e.getSource() == discoItem)                    new ServiceDiscoveryDialog(blist.getContainerFrame())                            .setVisible(true);                else if (e.getSource() == infoItem)                    new InformationViewerDialog(BuddyList.getInstance()                            .getConnection().getUser(), true);            }        }    }    private void signOnHandler() {        if (!BuddyList.getInstance().checkConnection()) {            ConnectorThread.getInstance().setCancelled(false);            BuddyList.getInstance().setStatus(Presence.Mode.AVAILABLE,                    resources.getString("available"), false);        } else            signOffHandler();    }    private void signOffHandler() {        ConnectorThread.getInstance().setCancelled(true);        BuddyList.getInstance().getStatusMenu().signOffHandler();    }    private void editHandler() {        ProfileEditorDialog dialog = new ProfileEditorDialog(BuddyList.getInstance().getContainerFrame(),null,                ProfileManager.getCurrentProfile());        dialog.setIsCurrentProfile(true);        dialog.setVisible(true);    }    private void switchHandler() {        if (BuddyList.getInstance().checkConnection()) {            Standard.warningMessage(null, resources.getString("error"),                    resources.getString("stillConnected"));        } else {            BuddyList.getInstance().getContainerFrame().setVisible(false);            new ProfileManager().setVisible(true);        }    }    /**     * Registers for a server by displaying a RegistrationForm     */    private void registrationHandler() {        String result = (String) JOptionPane.showInputDialog(null, resources                .getString("pleaseEnterServer"), resources                .getString("registerForService"), JOptionPane.QUESTION_MESSAGE,                null, null, "");        if (result != null && !result.equals("")) {            RegistrationForm form = new RegistrationForm(BuddyList.getInstance().getContainerFrame(),result);            form.getRegistrationInfo();        }    }	public void showMenu( Component tree, int x, int y)	{		show( tree, x, y );	}        public void signOn() {        logOn();    }    public void signOff() {        logOff();    }    /**     * @param var     *            true if this is OS X     */}

⌨️ 快捷键说明

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