sketchmodel.java
来自「用JAVA开发的一个小型画图软件」· Java 代码 · 共 45 行
JAVA
45 行
import java.util.Observable;
import java.util.LinkedList;
import java.util.Iterator;
import java.io.Serializable;
import java.awt.Rectangle;
class SketchModel extends Observable implements Iterable<Element>, Serializable {
public boolean remove(Element element) {
boolean removed = elements.remove(element);
if(removed) {
setChanged();
notifyObservers(element.getBounds());
}
return removed;
}
public void add(Element element) {
elements.add(element);
setChanged();
notifyObservers(element.getBounds());
}
public Iterator<Element> iterator() {
return elements.iterator();
}
// Get the rectangle enclosing an entire sketch
Rectangle getModelExtent() {
Rectangle rect = new Rectangle(); // An empty rectangle
for(Element element : elements) { // Go through the list
rect.add(element.getBounds()); // Expand union
}
if(rect.width == 0) { // Make sure width
rect.width = 1; // is non-zero
}
if(rect.height == 0) { // and the height
rect.height = 1;
}
return rect;
}
protected LinkedList<Element> elements = new LinkedList<Element>();
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?