📄 figures.java
字号:
package drawfigure;import java.util.*;import java.awt.*;/** * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2003</p> * <p>Company: 金京铭</p> * @author 孙明辉 * @version 1.0 */public class Figures { Vector figureGroup; public Figures() { figureGroup = new Vector(); } public boolean add(Object o) { return figureGroup.add(o); } public Object get(int index) { return figureGroup.get(index); } public int size() { return figureGroup.size(); } public void remove(Figure f) { figureGroup.remove(f); } public Figure remove(int index) { return (Figure) figureGroup.remove(index); } public void removeAllElements() { figureGroup.removeAllElements(); } /** * 通过点p获得图形,如果该点同时在两个图形内,则返回最近画的那个 * @param p * @return */ public Figure getFigureFromPoint(Point p) { Figure currFigure; for (int i = figureGroup.size() - 1; i >= 0; i--) { currFigure=(Figure) figureGroup.get(i); if (currFigure.pointInside(p)||currFigure.pointInControlRect(p)) { return currFigure; } } return null; } /** * 设置所有的Figure为未选中状态 * */ public void unSelectedAll() { for (int i = 0; i < figureGroup.size(); i++) { ((Figure) figureGroup.get(i)).unSelected(); } } /** * 获得鼠标形状 * @param p * @return Cursor */ public Cursor getCursor(Point p) { Figure tmpFigure; for (int i = figureGroup.size() - 1; i >= 0; i--) { tmpFigure = (Figure) figureGroup.get(i); if ((tmpFigure.isSelected()) && (tmpFigure.pointInside(p) ||(tmpFigure.pointInControlRect(p)))) { return tmpFigure.getCursor(p); } } return new Cursor(Cursor.DEFAULT_CURSOR); } /** * 打印所有的Figure信息到控制台 * */ public void printAllFigures() { Figure f; for (int i = 0; i < figureGroup.size(); i++) { f = (Figure) figureGroup.get(i); System.out.println("<" + i + ">"); System.out.println(" FigureType=" + f.getClass().getName()); System.out.println(" startPoint=" + f.getStartPoint()); System.out.println(" endPoint=" + f.getEndPoint()); System.out.println(" isFirstDraw=" + f.isFirstDraw()); System.out.println(" isSelected=" + f.isSelected()); System.out.println(" isMoving=" + f.isMoving()); System.out.println(" isResizing=" + f.isResizing()); System.out.println(" isDrawing=" + f.isDrawing()); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -