to.tetramorph.util
クラス StyleLiner

java.lang.Object
  上位を拡張 to.tetramorph.util.StyleLiner

public class StyleLiner
extends Object

java.awt.Graphicsでは、点線や一点鎖線、太線を描く事ができないが、このクラスは それを実現する。 描画速度は若干遅くなるが、このクラスを使うと、色々な線を描く事ができる。 ラインスタイルの指定。太線と細線の指定。製図の寸法線のように、線の 中央にスペースを空ける。また線の片端ないしは、両端に矢印をつける。 などの機能がある。

作者:大辺タロー 作成日:98年10月29日


フィールドの概要
 Graphics g
          コンストラクタで引き継がれた、Graphics gの写し。
 double lineLength
          描画した線の長さが入る。
 double midXpos
          描画した線のスペーサ位置のX座標が入る。
 double midYpos
          描画した線のスペーサ位置のY座標が入る。
 
コンストラクタの概要
StyleLiner(Graphics gg)
          描画対象である、Graphicsクラスを入れてインスタンス化し、 以後、描画対象はここで指定されたものとなる。
 
メソッドの概要
 void activeEndArrow(boolean sw)
          trueを指定すると、線の描画の際、矢印を終点に描くようになる。
 void activeStartArrow(boolean sw)
          trueを指定すると、線の描画の際、矢印を始点に描くようになる。
 void drawLine(int x1, int y1, int x2, int y2)
          線を描く。
 void setArrowAngle(int angle)
          矢印線(<)の開きの角度を設定する。
 void setArrowBold(boolean sw)
          trueを指定すると、描画の際、矢印を塗りつぶす。
 void setArrowLength(int length)
          矢印線(<)の長さを設定する。
 void setBold()
          ボールドタイプの線種であると設定する。
 void setLineStyle(int style)
          ラインスタイルを設定する。
 void setPlean()
          プレーンタイプの線種であると設定する。
 void setScale(double scale)
          ラインスタイルはデフォルトでは、1ドットきざみでlineStyleのビット情報が反映されるが、 この値を設定することで、もっと間延びさせる事ができる。
 void setSpacer(double spacePos, int spaceLength)
          線の中央にスペーサを入れる。
 void setSpacer(int spaceLength)
          線の中央にスペーサを入れる。
 void voidSpacer()
          スペーサ機能を無効にする。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

g

public Graphics g
コンストラクタで引き継がれた、Graphics gの写し。つまり親元のgで、setColor() などを実行すれは、このクラスで描画される色も変化する。 初期のオプション設定値は、{ 線幅=plean,矢印=無し,lineStyle=実線,スペーサ=無し}である。


midXpos

public double midXpos
描画した線のスペーサ位置のX座標が入る。線を描くたびに変化する。


midYpos

public double midYpos
描画した線のスペーサ位置のY座標が入る。線を描くたびに変化する。


lineLength

public double lineLength
描画した線の長さが入る。線を描くたびに変化する。

コンストラクタの詳細

StyleLiner

public StyleLiner(Graphics gg)
描画対象である、Graphicsクラスを入れてインスタンス化し、 以後、描画対象はここで指定されたものとなる。

メソッドの詳細

activeStartArrow

public void activeStartArrow(boolean sw)
trueを指定すると、線の描画の際、矢印を始点に描くようになる。


activeEndArrow

public void activeEndArrow(boolean sw)
trueを指定すると、線の描画の際、矢印を終点に描くようになる。


setArrowBold

public void setArrowBold(boolean sw)
trueを指定すると、描画の際、矢印を塗りつぶす。 falseなら製図の矢印のように2本の線が描かれる。 boldの線が指定されていると、矢印の頭を線端が突き破ってしまうため、 このオプションが指定されているときは、arrowLengthを元に、線の両端を 若干短く描画したのち、矢印を描くように処理している。


setArrowLength

public void setArrowLength(int length)
矢印線(<)の長さを設定する。デフォルトは15dot。


setArrowAngle

public void setArrowAngle(int angle)
矢印線(<)の開きの角度を設定する。デフォルトは±15度。


setSpacer

public void setSpacer(int spaceLength)
線の中央にスペーサを入れる。つまり、製図の寸法線のように、 <------  ------>このように真ん中に数値を描きこむような領域を開けて 描画する。spaceLength(単位はdot)は、スペースの長さを指定し、この値は中央から±の 範囲に影響を与える。スペーサの位置は中央に設定される。 描画後、midXpos,midYposに、スペーサの中心座標が求まる。


setSpacer

public void setSpacer(double spacePos,
                      int spaceLength)
線の中央にスペーサを入れる。つまり、製図の寸法線のように、 <------  ------>このように真ん中に数値を描きこむような領域を開けて 描画する。spaceLengthは、スペースの長さを指定し、この値は中央から±の 範囲に影響を与える。spacePosは、線分のどこにスペーサを設けるかを指定 する。0.5であれば、中央に設ける。範囲は(0 < spacePos < 1)でなければならない。 範囲外の数値を与えると、0.5にリセットされる。 drawLine()で、最初に指定した座標が始点、次が終点で、spacePosの値が0.3 であれば、始点寄りにスペースが空けられる事になる。 描画後、midXpos,midYposに、スペーサの中心座標が求まる。


voidSpacer

public void voidSpacer()
スペーサ機能を無効にする。


setBold

public void setBold()
ボールドタイプの線種であると設定する。点は3*3ドットで、中心のドットが指定された座標である。 この指定をした時は、矢印のboldオプションも選択された事になる。


setPlean

public void setPlean()
プレーンタイプの線種であると設定する。線幅1dotの線を描く。 この指定をした時は、矢印のboldオプションはfalseに設定される。


setLineStyle

public void setLineStyle(int style)
ラインスタイルを設定する。int型のビット情報が即、描画スタイルとなる。 各ビットが1ならば描画、0なら描画しない。点線なら、0x55555555というように指定する。 デフォルトでは、0xFFFFFFFFで、スタイルはない。値が0ならなにも描画されない。


setScale

public void setScale(double scale)
ラインスタイルはデフォルトでは、1ドットきざみでlineStyleのビット情報が反映されるが、 この値を設定することで、もっと間延びさせる事ができる。(設定値 >= 1)でなければならず、 1以下の値を設定しても、1にリセットされる。初期値は1である。2を指定すれば、2倍に間延 びする。つまり、"- - -"が、"− − −"となる。


drawLine

public void drawLine(int x1,
                     int y1,
                     int x2,
                     int y2)
線を描く。x1,y1が始点。x2,y2が終点。どのような線が描かれるかは、他のオプション指定 によって異なる。