📄 stext.java
字号:
// **********************************************************************// // <copyright>// // BBN Technologies// 10 Moulton Street// Cambridge, MA 02138// (617) 873-8000// // Copyright (C) BBNT Solutions LLC. All rights reserved.// // </copyright>// **********************************************************************// // $Source: /cvs/distapps/openmap/src/corba/com/bbn/openmap/layer/specialist/SText.java,v $// $RCSfile: SText.java,v $// $Revision: 1.3.2.1 $// $Date: 2004/10/14 18:26:32 $// $Author: dietrick $// // **********************************************************************package com.bbn.openmap.layer.specialist;import com.bbn.openmap.CSpecialist.*;import com.bbn.openmap.CSpecialist.GraphicPackage.*;import com.bbn.openmap.CSpecialist.TextPackage.*;/** * A SText graphic object is used to put text on the client's screen. */public class SText extends SGraphic /* used to be _TextImplBase */{ /** XY screen location, or offset value. */ protected XYPoint p1_; /** Lat/lon location. */ protected LLPoint ll1_; /** The String value of the font - see below, resolveFont(). */ protected String font_; /** The Java Font. */ protected java.awt.Font realFont_; /** The text to be displayed. */ protected String data_; /** Right, left, or center. */ protected short justify_; /** Generic, using Helvetica font. */ public SText() { super(GraphicType.GT_Text, RenderType.RT_Unknown, LineType.LT_Unknown, DeclutterType.DC_None); ll1_ = new LLPoint(0f, 0f); p1_ = new XYPoint((short) 0, (short) 0); data_ = ""; realFont_ = new java.awt.Font("Helvetica", java.awt.Font.PLAIN, 10); justify_ = 0; } /** Lat/lon placement. */ public SText(LLPoint ll1, String data, java.awt.Font font, short justify) { super(GraphicType.GT_Text, RenderType.RT_LatLon, LineType.LT_Unknown, DeclutterType.DC_None); ll1_ = ll1; p1_ = new XYPoint((short) 0, (short) 0); data_ = data; realFont_ = font; justify_ = justify; } /** XY placement. */ public SText(short x1, short y1, String data, java.awt.Font font, short justify) { super(GraphicType.GT_Text, RenderType.RT_XY, LineType.LT_Unknown, DeclutterType.DC_None); ll1_ = new LLPoint(0f, 0f); p1_ = new XYPoint(x1, y1); data_ = data; realFont_ = font; justify_ = justify; } /** Lat/lon placement with XY offset. */ public SText(LLPoint ll1, short x1, short y1, String data, java.awt.Font font, short justify) { super(GraphicType.GT_Text, RenderType.RT_Offset, LineType.LT_Unknown, DeclutterType.DC_None); ll1_ = ll1; p1_ = new XYPoint(x1, y1); data_ = data; realFont_ = font; justify_ = justify; } // The SText methods public void p1(XYPoint p1) { p1_ = p1; } public XYPoint p1() { return p1_; } public void ll1(LLPoint ll1) { ll1_ = ll1; } public LLPoint ll1() { return ll1_; } public void data(String data) { data_ = data; } public String data() { return data_; } public void font(String font) { font_ = font; } public String font() { return resolveFont(realFont_); } public void font(java.awt.Font font) { realFont_ = font; } public void justify(short justify) { justify_ = justify; } public short justify() { return justify_; } public EText fill() { return new EText(eg, p1_, ll1_, data_, resolveFont(realFont_), justify_); } public UGraphic ufill() { UGraphic ugraphic = new UGraphic(); ugraphic.etext(fill()); return ugraphic; } /** * In the idl, fonts are represented by a string. Traditionally, * with MATT, the font was a X representation of a font. That's * what is being done here - we're taking the Font structure, and * then going to XFont type text structure. Dashes need to be * included, line feeds are not. They are here only for * readability. The JText object brings this back to a java Font. * Like wise, doing the transformation this way makes all * specialists compatible with all other clients. */ public String resolveFont(java.awt.Font font) { //-foundry(who made it) String ret = "-*"; //-font family(name) ret = ret.concat("-" + font.getName()); //-weight(bold, medium) if (font.isBold()) ret = ret.concat("-bold"); else ret = ret.concat("-normal"); //-slant(o,i) if (font.isItalic()) ret = ret.concat("-i"); else ret = ret.concat("-o"); //-set width(normal, condensed, narrow, double width) ret = ret.concat("-normal"); //--pixels(height) ret = ret.concat("--" + font.getSize()); //-points(in tenths of a point, related to screen) ret = ret.concat("-*"); //-horizontal resolution in dpi ret = ret.concat("-*"); //-vertical resolution in dpi ret = ret.concat("-*"); //-spacing(m-monospace or p-proportional) ret = ret.concat("-*"); //-average width(of each letter, in tenths of a pixel) ret = ret.concat("-*"); //-character set(like an ISO designation. ret = ret.concat("-*"); // System.out.println("SText.fontString: " + ret); return ret; } // Gesture responses public void changeP1(com.bbn.openmap.CSpecialist.XYPoint p1) { p1_ = p1; TF_update gupdate = new TF_update(); gupdate.p1(p1); UpdateGraphic ug = new UpdateGraphic(); ug.tf_update(gupdate); addGraphicChange(ug); } public void changeLl1(com.bbn.openmap.CSpecialist.LLPoint ll1) { ll1_ = ll1; TF_update gupdate = new TF_update(); gupdate.ll1(ll1); UpdateGraphic ug = new UpdateGraphic(); ug.tf_update(gupdate); addGraphicChange(ug); } public void changeData(String data) { data_ = data; TF_update gupdate = new TF_update(); gupdate.data(data); UpdateGraphic ug = new UpdateGraphic(); ug.tf_update(gupdate); addGraphicChange(ug); } public void changeFont(String font) { font_ = font; TF_update gupdate = new TF_update(); gupdate.font(font); UpdateGraphic ug = new UpdateGraphic(); ug.tf_update(gupdate); addGraphicChange(ug); } public void changeFont(java.awt.Font font) { realFont_ = font; TF_update gupdate = new TF_update(); gupdate.font(resolveFont(realFont_)); UpdateGraphic ug = new UpdateGraphic(); ug.tf_update(gupdate); addGraphicChange(ug); } public void changeJustify(short justify) { justify_ = justify; TF_update gupdate = new TF_update(); gupdate.justify(justify); UpdateGraphic ug = new UpdateGraphic(); ug.tf_update(gupdate); addGraphicChange(ug); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -