abstracttool.java
来自「开源(Open Source)项目JHotDraw的文档和源程序」· Java 代码 · 共 108 行
JAVA
108 行
/*
* @(#)AbstractTool.java 5.2
*
*/
package CH.ifa.draw.standard;
import java.awt.*;
import java.awt.event.MouseEvent;
import java.awt.event.KeyEvent;
import CH.ifa.draw.framework.*;
/**
* Default implementation support for Tools.
*
* @see DrawingView
* @see Tool
*/
public class AbstractTool implements Tool {
protected DrawingView fView;
/**
* The position of the initial mouse down.
*/
protected int fAnchorX, fAnchorY;
/**
* Constructs a tool for the given view.
*/
public AbstractTool(DrawingView itsView) {
fView = itsView;
}
/**
* Activates the tool for the given view. This method is called
* whenever the user switches to this tool. Use this method to
* reinitialize a tool.
*/
public void activate() {
view().clearSelection();
}
/**
* Deactivates the tool. This method is called whenever the user
* switches to another tool. Use this method to do some clean-up
* when the tool is switched. Subclassers should always call
* super.deactivate.
*/
public void deactivate() {
view().setCursor(Cursor.getDefaultCursor());
}
/**
* Handles mouse down events in the drawing view.
*/
public void mouseDown(MouseEvent e, int x, int y) {
fAnchorX = x;
fAnchorY = y;
}
/**
* Handles mouse drag events in the drawing view.
*/
public void mouseDrag(MouseEvent e, int x, int y) {
}
/**
* Handles mouse up in the drawing view.
*/
public void mouseUp(MouseEvent e, int x, int y) {
}
/**
* Handles mouse moves (if the mouse button is up).
*/
public void mouseMove(MouseEvent evt, int x, int y) {
}
/**
* Handles key down events in the drawing view.
*/
public void keyDown(KeyEvent evt, int key) {
}
/**
* Gets the tool's drawing.
*/
public Drawing drawing() {
return view().drawing();
}
/**
* Gets the tool's editor.
*/
public DrawingEditor editor() {
return view().editor();
}
/**
* Gets the tool's view.
*/
public DrawingView view() {
return fView;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?