📄 whitebox.java
字号:
package edu.odu.cs.zeil.AlgAE.Demos.Utils;import edu.odu.cs.zeil.AlgAE.Direction;import edu.odu.cs.zeil.AlgAE.Server.Rendering;import edu.odu.cs.zeil.AlgAE.Server.Visible;import edu.odu.cs.zeil.AlgAE.Server.VisibleRendering;import java.awt.Color;import java.util.Vector;/** * A utility class that produces an invisible box to which other visible * items can be added. * * This class is useful in organizing a group of small visible objects into * a horizontal or vertical sequence. * * @author Steven Zeil */public class WhiteBox implements Visible{ private VisibleRendering vr; private Vector contents; /** * Create an empty WhiteBox * @param vertical true if contents should be arranged vertically, * false if contents should be arranged horizontally */ public WhiteBox (boolean vertical) { vr = new VisibleRendering (this, Color.white, vertical); contents = new Vector(); } /** * Add a component to the WhiteBix */ public void add (Visible v) { contents.addElement (v); } /** * Add a component to the WhiteBix */ public void remove (Visible v) { contents.removeElement (v); } /** * This function returns the VisibleRendering data member * * @return the rendering information for this object. **/ public Rendering getRendering() { return vr; } /** * Produce the text string to be displayed in the picture of the object. * * @return the text string to be displayed **/ public String getAlgAEText() { return ""; } /** * If an object <CODE>s</CODE> is to be portrayed as having * pointers/references/arrows to other Visible objects, then when * <CODE>s.touchAllPointers()</CODE> is called, * the body of <CODE>touchAllPointers</CODE> should call, for each arrow * from <CODE>s</CODE> to another Visible object <CODE>p</CODE>, * <CODE>s.getRendering().touch(p, dir)</CODE> or * <CODE>s.getRendering().touch(p, dir, label)</CODE>. * <P> * <CODE>dir</CODE> is the "exit" direction from which the AlgAE system * will draw the arrow from <CODE>s</CODE> to <CODE>p</CODE>. **/ public void touchAllPointers() { } /** * If an object <CODE>s</CODE> is to be portrayed as a compound structure * containing other Visible objects, then when * <CODE>s.touchAllComponents()</CODE> is called, * the body of <CODE>touchAllComponents</CODE> should call, for each * contained Visible component <CODE>p</CODE>, * <CODE>s.getRendering().touch(p)</CODE>. * <P> * Note that the the distinction between a "Pointer" and a "Component" * is a logical distinction, as they are both typically implemented as * simple data members of the Visible class. It is up to the designer * of the algorithm animation to decide what to portray as references and * what to portray as contained components. **/ public void touchAllComponents() { for (int i = 0; i < contents.size(); ++i) vr.touch ((Visible) contents.elementAt(i)); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -