actiontool.java

来自「开源(Open Source)项目JHotDraw的文档和源程序」· Java 代码 · 共 44 行

JAVA
44
字号
/*
 * @(#)ActionTool.java 5.2
 *
 */

package CH.ifa.draw.standard;

import CH.ifa.draw.framework.*;

import java.awt.*;
import java.awt.event.MouseEvent;

/**
 * A tool that performs an action when it is active and
 * the mouse is clicked.
 */
public abstract class ActionTool extends AbstractTool {

    public ActionTool(DrawingView itsView) {
        super(itsView);
    }

    /**
     * Add the touched figure to the selection an invoke action
     * @see #action
     */
    public void mouseDown(MouseEvent e, int x, int y) {
        Figure target = drawing().findFigure(x, y);
        if (target != null) {
            view().addToSelection(target);
            action(target);
        }
    }

    public void mouseUp(MouseEvent e, int x, int y) {
        editor().toolDone();
    }

    /**
     * Performs an action with the touched figure.
     */
    public abstract void action(Figure figure);
}

⌨️ 快捷键说明

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