JAVAのマニュアル(グラフィクス)




直線、 、  、  楕円、  四角形、  角が丸い四角形、  3D長方形、  円弧、  多角形、  色の指定(色名で指定)、  色の指定(RGBで指定)、  線の太さを変える、  (グラフィクスで)文字を描く、  フォントの種類やサイズを変える


●直線     g.drawLine( 始点のx座標 , 始点のy座標 , 終点のx座標 , 終点のy座標);

    (例)g.drawLine(100, 100, 200, 200);


●点     点を描く命令はない.

    直線の開始座標と終了座標を同じにすることによって点を描画する.

    (例)g.drawLine(100, 100, 100, 100);


●円     円を描く命令はない.

    楕円の幅と高さを同じにすることによって円を描画する.

    g.drawOval( 左上のx座標 , 左上のy座標 , 幅 , 高さ );

    (例)g.drawOval(100, 150, 200, 200);


●楕円     g.drawOval( 左上のx座標 , 左上のy座標 , 幅 , 高さ );

    (例)g.drawOval(100, 150, 200, 100);


●楕円(塗りつぶし)     g.fillOval( 左上のx座標 , 左上のy座標 , 幅 , 高さ );

    (例)g.fillOval(100, 150, 200, 100);


●四角形     g.drawRect( 左上のx座標 , 左上のy座標 , 幅 , 高さ );

    (例)g.drawRect(100 , 100 , 220 , 120);


●四角形(塗りつぶし)     g.fillRect( 左上のx座標 , 左上のy座標 , 幅 , 高さ );

    (例)g.fillRect(100 , 100 , 220 , 120);


●角が丸い四角形     g.drawRoundRect( 左上のx座標 , 左上のy座標 , 幅 , 高さ , xの丸め , yの丸め );

    (例)g.drawRoundRect(100 , 150 , 200 , 100 , 5 , 10);


●角が丸い四角形(塗りつぶし)     g.fillRoundRect( 左上のx座標 , 左上のy座標 , 幅 , 高さ , xの丸め , yの丸め );

    (例)g.fillRoundRect(100 , 200 , 200 , 100, 5 , 10);


●3D長方形  g.draw3DRect( 左上のx座標 , 左上のy座標 , 幅 , 高さ, 窪み/浮上り)

    (例)g.draw3DRect(100 , 200 , 200 , 100 , true);

    (例)g.draw3DRect(100 , 200 , 200 , 100 , false);


●3D長方形(塗りつぶし)  g.fill3DRect( 左上のx座標 , 左上のy座標 , 幅 , 高さ, 窪み/浮上り)

    (例)g.fill3DRect(100 , 200 , 200 , 100 , true);

    (例)g.fill3DRect(100 , 200 , 200 , 100 , false);


●円弧     g.drawArc( 左上のx座標 , 左上のy座標 , 幅 , 高さ , 開始角度 , 描画する角度 );

    開始角度は,水平位置(時計の3時方向)を0度とする.

   描画する角度は,反時計回りに角度(度)で指定する.

    (例)g.drawArc(30, 80, 180, 90, 0, 250);


●円弧(塗りつぶし)     g.fillArc( 左上のx座標 , 左上のy座標 , 幅 , 高さ , 開始角度 , 描画する角度 );

    (例)g.fillArc(30, 80, 180, 90, 0, 250);


●多角形   g.drawPolygon(x座標テーブル,y座標テーブル,座標の数)

(例)(100,50), (300,150), (200,300), (100,50)を線で結ぶ
int [ ] x = {100, 300, 200, 100};
int [ ] y = {50, 150, 300, 50};
g.drawPolygon (x, y, 4 );


●多角形(塗りつぶし)   g.fillPolygon(x座標テーブル,y座標テーブル,座標の数)

(例)(100,50), (300,150), (200,300), (100,50)で囲まれたエリアを塗りつぶす
int [ ] x = {100, 300, 200, 100};
int [ ] y = {50, 150, 300, 50};
g.fillPolygon (x, y, 4 );


●色の指定(色名で指定)     g.setColor(色);

(例)g.setColor(Color.blue);

使える色は次の通り
      Color.black
      Color.blue
      Color.darkGray
      Color.gray
      Color.green
      Color.lightGray
      Color.magenta
      Color.orange
      Color.pink
      Color.red
      Color.white
      Color.yellow      

<注意> import java.awt.Color; 文が必要


●色の指定(RGBで指定)     g.setColor( new Color( 赤色成分 , 緑色成分 , 青色成分 ));  

<注意> import java.awt.Color; 文が必要

  (例)g.setColor( new Color( 255 , 0 , 0 ) ); //この場合は赤色となる

    赤(R)色成分,緑(G)色成分,青(B)色成分の値を0〜255の整数で指定する.      

 


●線の太さを変える

<注意> 次の import 文が必要
import java.awt.BasicStroke;
import java.awt.Graphics2D;

 

次の4行を public void paint(Graphics g) {  の次に入れる

BasicStroke stroke;
Graphics2D g2 = (Graphics2D)g;
stroke = new BasicStroke(15.0f); //線の太さを15に変更
g2.setStroke(stroke); //線の種類を設定

 

実際の描画は次の文で行う

g2.drawLine(0, 500, 500, 0); // g の代わりに g2 を使う点に注意




●途中で線の太さを再度変えたい場合は、描画命令の直前に

stroke = new BasicStroke(15.0f); //線の太さを15に変更
g2.setStroke(stroke); //線の種類を設定

を入れる。



【例】太さ15で g2.drawLine(0, 500, 500, 0); を実行した後に、太さ3で g2.drawOval(0, 500, 500, 0); を実行したい場合。

BasicStroke stroke;
Graphics2D g2 = (Graphics2D)g;
stroke = new BasicStroke(15.0f); //線の太さを15に変更
g2.setStroke(stroke); //線の種類を設定
g2.drawLine(0, 500, 500, 0); // 太さ15の線で直線を描く

stroke = new BasicStroke(3.0f); //線の太さを3に変更
g2.setStroke(stroke); //線の種類を設定
g2.drawOval(0, 500, 500, 0); // 太さ3の線で楕円を描く

 


●(グラフィクスで)文字を描く    g.drawString( "文字列" , x座標 , y座標 );

   x, y 座標は表示文字列の左下座標(ベースライン)

  (例)g.drawString("こんにちは", 100, 200);



●フォントの種類やサイズを変える

    Font f = new Font("フォントの種類", スタイル, サイズ);
    g.setFont(f);
    g.drawString( "文字列" , x座標 , y座標 );

<注意> import java.awt.Font;  文が必要

・フォントの種類
表記
意味
Serif
明朝体
SansSerif
ゴシック体

・スタイル
表記
意味
Font.PLAIN
標準
Font.BOLD
太字
Font.ITALIC
イタリック体

(例)イタリックの明朝体、72ポイントで、座標(200,100)に「JAVA」という文字を表示する。

    Font f = new Font("Serif", Font.ITALIC, 72);
    g.setFont(f);
    g.drawString("JAVA", 200, 100);