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

📄 textutilitiespopupmenu.java

📁 eq跨平台查询工具源码 eq跨平台查询工具源码
💻 JAVA
字号:
/* * TextUtilitiesPopUpMenu.java * * Copyright (C) 2002, 2003, 2004, 2005, 2006 Takis Diakoumis * * 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 2 * of the License, or 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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. * */package org.executequery.gui.text;import java.awt.event.ActionEvent;import java.awt.event.MouseAdapter;import java.awt.event.MouseEvent;import javax.swing.Action;import javax.swing.JMenuItem;import javax.swing.JPopupMenu;import javax.swing.KeyStroke;import javax.swing.text.JTextComponent;import org.underworldlabs.swing.actions.ActionBuilder;import org.underworldlabs.swing.actions.ReflectiveAction;/* ---------------------------------------------------------- * CVS NOTE: Changes to the CVS repository prior to the  *           release of version 3.0.0beta1 has meant a  *           resetting of CVS revision numbers. * ---------------------------------------------------------- *//**  * The text utilities popup menu function * * @author   Takis Diakoumis * @version  $Revision: 1.4 $ * @date     $Date: 2006/05/14 06:56:52 $ */public class TextUtilitiesPopUpMenu extends JPopupMenu {        /** the action listener */    private ReflectiveAction reflectiveAction;    /** the text component this popup belongs to */    private JTextComponent textComponent;        public TextUtilitiesPopUpMenu() {                // create the listener        reflectiveAction = new ReflectiveAction(this);        // the menu label text        String[] menuLabels = {"Cut", "Copy", "Paste"};                // cached actions from which to retrieve common accels and mnemonics        String[] actionNames = {"cut-command", "copy-command", "paste-command"};                // action command settings to map to method names in this class        String[] actionCommands = {"cut", "copy", "paste"};                for (int i = 0; i < menuLabels.length; i++) {            add(createMenuItem(menuLabels[i], actionNames[i], actionCommands[i]));        }    }        /**     * Executes the cut action on the registered text component.     */    public void cut(ActionEvent e) {        textComponent.cut();    }    /**     * Executes the copy action on the registered text component.     */    public void copy(ActionEvent e) {        textComponent.copy();    }    /**     * Executes the paste action on the registered text component.     */    public void paste(ActionEvent e) {        textComponent.paste();    }    private JMenuItem createMenuItem(String text,                                      String actionName,                                      String actionCommand) {        JMenuItem menuItem = new JMenuItem(text);        Action action = ActionBuilder.get(actionName);        Object object = action.getValue(Action.ACCELERATOR_KEY);        if (object != null) {            menuItem.setAccelerator((KeyStroke)object);        }        object = action.getValue(Action.MNEMONIC_KEY);        if (object != null) {            menuItem.setMnemonic(((Integer)object).intValue());        }        menuItem.setActionCommand(actionCommand);        menuItem.addActionListener(reflectiveAction);        return menuItem;    }        public void registerTextComponent(JTextComponent textComponent) {        this.textComponent = textComponent;        textComponent.addMouseListener(new PopupListener(this));    }        class PopupListener extends MouseAdapter {                private JPopupMenu popup;                public PopupListener(JPopupMenu popup) {            this.popup = popup;        }                public void mousePressed(MouseEvent e) {            maybeShowPopup(e);        }                public void mouseReleased(MouseEvent e) {            maybeShowPopup(e);        }                private void maybeShowPopup(MouseEvent e) {            if (e.isPopupTrigger()) {                popup.show(e.getComponent(), e.getX(), e.getY());            }        }            } // class PopupListener    }

⌨️ 快捷键说明

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