📄 buildgraph.java
字号:
return array; } /** * @return <i>true</i> if the build was successful */ protected boolean buildAxis() { Stack attach = new Stack(); NamedObject nobj; Axis axis = new Axis(); NamedObject naxis = new NamedObject(axis,AXIS); int angle = 0; while( true ) { nobj = (NamedObject)(object.pop()); debugMessage("Axis",nobj.id); switch (nobj.id) { case NAME: naxis.setName((String)(nobj.getObject())); break; case TITLE: axis.title = (RTextLine)(nobj.getObject()); break; case LABEL_FONT: axis.label.setFont((Font)(nobj.getObject())); break; case LABEL_COLOR: axis.label.setColor((Color)(nobj.getObject())); break; case BOTTOM: axis.setPosition(Axis.BOTTOM); break; case TOP: axis.setPosition(Axis.TOP); break; case LEFT: axis.setPosition(Axis.LEFT); angle = 90; break; case RIGHT: axis.setPosition(Axis.RIGHT); angle = -90; break; case ATTACH: attach.push(new NamedObject(axis, (String)(nobj.getObject()),ATTACH)); break; case BEGIN: axis.g2d = (Graph2D)graph; axis.setTitleRotation(angle); object.push(naxis); while(attach.size() > 0) { object.push(attach.pop()); } built.addElement(axis); applet.showStatus("BuildGraph: Built Axis!"); return true; default: errorAtLine("Incorrect keyword in Data specification"); return false; } } } /** * @return <i>true</i> if the build was successful */ protected boolean buildGrid() { NamedObject nobj; NamedObject color = null; NamedObject grid = null; while( true ) { nobj = (NamedObject)(object.pop()); debugMessage("Grid",nobj.id); switch (nobj.id) { case OFF: grid = nobj; grid.setId(GRID_OFF); break; case ON: grid = nobj; grid.setId(GRID_ON); break; case COLOR: color = nobj; color.setId(GRID_COLOR); break; case BEGIN: if(grid != null) object.push(grid); if(color != null) object.push(color); return true; default: errorAtLine("Incorrect keyword in Grid specification"); return false; } } } /** * @return <i>true</i> if the build was successful */ protected boolean buildZero() { NamedObject nobj; NamedObject color = null; NamedObject zero = null; while( true ) { nobj = (NamedObject)(object.pop()); debugMessage("Zero",nobj.id); switch (nobj.id) { case OFF: zero = nobj; zero.setId(ZERO_OFF); break; case ON: zero = nobj; zero.setId(ZERO_ON); break; case COLOR: color = nobj; color.setId(ZERO_COLOR); break; case BEGIN: if(zero != null) object.push(zero); if(color != null) object.push(color); return true; default: errorAtLine("Incorrect keyword in Zero specification"); return false; } } } /** * output the parsed error message with the line number of the line * that triggered the error. * @param s Message to ouput */ private void errorAtLine(String s) { System.out.println("Error at line "+lineno+": "+s); applet.showStatus("Error at line "+lineno+": "+s); } /** * output the parsed debug message, appending line number, and token string * @param s Message to ouput * @param token token to be replaced with a string */ private void debugMessage(String s, int token) { String st = null; if(!debug) return; switch ( token ) { case DEBUG: st = null; break; case G2DINT: st = "G2DINT"; break; case GRAPH2D: st = "GRAPH2D"; break; case CONTOUR: st = "CONTOUR"; break; case TT_EOF: st = null; break; case TT_EOL: st = null; break; case URL: st = "URL"; break; case ATTACH: st = "ATTACH"; break; case STYLE: st = "STYLE"; break; case SIZE: st = "SIZE"; break; case COLOR: st = "COLOR"; break; case NAME: st = "NAME"; break; case BEGIN: st = "BEGIN"; break; case END: st = "END"; break; case MARKER: st = "MARKER"; break; case AXIS: st = "AXIS"; break; case TITLE: st = "TITLE"; break; case DATA: st = "DATA"; break; case LABEL: st = "LABEL"; break; case FONT: st = "FONT"; break; case BOTTOM: st = "BOTTOM"; break; case TOP: st = "TOP"; break; case LEFT: st = "LEFT"; break; case RIGHT: st = "RIGHT"; break; case ON: st = "ON"; break; case OFF: st = "OFF"; break; case PLAIN: st = "PLAIN"; break; case BOLD: st = "BOLD"; break; case ITALIC: st = "ITALIC"; break; case MARKER_STYLE: st = "MARKER_STYLE"; break; case MARKER_COLOR: st = "MARKER_COLOR"; break; case MARKER_SIZE: st = "MARKER_SIZE"; break; case LABEL_COLOR: st = "LABEL_COLOR"; break; case LABEL_FONT: st = "LABEL_FONT"; break; case GRID_COLOR: st = "GRID_COLOR"; break; case GRID: st = "GRID"; break; case GRID_OFF: st = "GRID_OFF"; break; case GRID_ON: st = "GRID_ON"; break; case ZERO_COLOR: st = "ZERO_COLOR"; break; case ZERO: st = "ZERO"; break; case ZERO_OFF: st = "ZERO_OFF"; break; case ZERO_ON: st = "ZERO_ON"; break; case MARKER_URL: st = "MARKER_URL"; break; case FUNCTION: st = "FUNCTION"; break; case XRANGE: st = "XRANGE"; break; case YRANGE: st = "YRANGE"; break; case NUMBER: st = "NUMBER"; break; case SQUARE: st = "SQUARE"; break; case BACKGROUND: st = "BACKGROUND"; break; default: st = "UNKNOWN"; break; } if(st != null) System.out.println("("+lineno+") "+s+": "+st); }}/** * this is a structure class used exclusively BuildGraph. * the class contains an Object variable, a String name identifying the object, * and/or an integer token identifying the object. * */class NamedObject extends Object { protected Object o = null; protected String s = null; protected int id = ScanWord.UNKNOWN; public NamedObject() { } public NamedObject(Object o) { this.o = o; } public NamedObject(Object o, String s) { this.o = o; this.s = s; } public NamedObject(Object o, String s, int id) { this.o = o; this.s = s; this.id = id; } public NamedObject(Object o, int id) { this.o = o; this.id = id; } public NamedObject(int id) { this.id = id; } public NamedObject(String s) { this.s = s; } public Object getObject() { return o; } public String getName() { return s; } public int getId() { return id; } public void setObject(Object o) { this.o = o; } public void setId(int id) { this.id = id; } public void setName(String s) { this.s = s; } public boolean equals(Object obj) { if(obj instanceof NamedObject) { NamedObject nobj = (NamedObject)obj; if( nobj.s == null && s != null || nobj.s != null && s == null || nobj.id != this.id || !nobj.s.equals(s) ) return false; if( nobj.o.equals(o) ) return true; } return false; } }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -