statemanager.java
来自「源码为科学出版社出版的英文<java设计模式>(影印版)所用的所有例」· Java 代码 · 共 37 行
JAVA
37 行
import java.awt.*;
public class StateManager {
private State currentState;
private RectState rState;
private ArrowState aState;
private CircleState cState;
private FillState fState;
public StateManager(Mediator med) {
rState = new RectState(med);
cState = new CircleState(med);
aState = new ArrowState(med);
fState = new FillState(med);
currentState = aState;
}
//These methods are called when the tool buttons
//are selected
public void setRect() {currentState = rState;}
public void setCircle() {currentState = cState;}
public void setFill() {currentState = fState;}
public void setArrow() {currentState = aState;}
public void mouseDown(int x, int y) {
currentState.mouseDown(x, y);
}
public void mouseUp(int x, int y) {
currentState.mouseUp(x, y);
}
public void mouseDrag(int x, int y) {
currentState.mouseDrag(x, y);
}
public void select(Drawing d, Color c) {
currentState.select(d, c);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?