method名 | 機能 | 注記 |
---|---|---|
setBackground( c ) | 背景色を設定する | Appletのinit()で呼び出される。 c は色に対する文字リテラル |
setForeground( c ) | 描画色を設定する | Appletのinit()で呼び出される。 |
g.setColor( c ) | 文字や図形の描画色を変更する | g はGraphicsクラスのオブジェクト変数名 |
色名 | 色の文字リテラル | RGB値 | 色名 | 色の文字リテラル | RGB値 | ||
---|---|---|---|---|---|---|---|
赤 | Color.red | Color(255, 0, 0) | Ff0000 | 黄 | Color.yellow | Color(255, 255, 0) | FfFf00 |
緑 lime | Color.green | Color( 0, 255, 0) | 00Ff00 | マゼンタ(赤紫) fuchsia | Color.magenta | Color(255, 0, 255) | Ff00Ff |
青 | Color.blue | Color( 0, 0, 255) | 0000Ff | シアン(青緑)aqua | Color.cyan | Color( 0, 255, 255) | 00FfFf |
白 | Color.white | Color(255, 255, 255) | FfFfFf | オリーブ olive | Color(128, 128, 0) | 808000 | |
明るい灰色 silver | Color.lightGray | Color(192, 192, 192) | C0C0C0 | 茶 teal | Color( 0, 128, 128) | 008080 | |
灰色 | Color.gray | Color(128, 128, 128) | 808080 | 紫 purple | Color(128, 0, 128) | 800080 | |
暗い灰色* | Color.darkGray | Color( 64, 64, 64) | 404040 | 栗色 maroon | Color(128, 0, 0) | 800000 | |
黒 | Color.black | Color( 0, 0, 0) | 000000 | 緑 green | Color( 0, 128, 0) | 008000 | |
ピンク* | Color.pink | Color(255, 175, 175) | FfAfAf | 濃紺 navy | Color( 0, 0, 128) | 000080 | |
オレンジ* | Color.orange | Color(255, 200, 0) | FfC800 | ブラウン* | Color( 165, 42, 42) | A52a2a | |
ラベンダー* | Color(230, 230, 250) | E6E6Fa | ベージュ* beige | Color( 245, 245, 220) | F5F5Dc |
線図形 | method名と引数 | 使用例 |
---|---|---|
直線の描画 | drawLine ( int x1, int y1, int y2, int y2 ); | drawLine( 20, 50, 100, 150 ); 座標(20,50)から座標(100,150)へ直線を引く |
長方形の描画 | drawRect ( int x1, int y1, int width, int hight ); | drawRect( 20, 50, 100, 100 ); 座標(20,50)を左上隅として幅100、高さ100の長方形を描く。この例では正方形が描かれる |
角丸の長方形の描画 | drawRoundRect ( int x1, int y1, int w, int h, int aw, int ah ); | drawRoundRect( 20, 50, 100, 80, 15, 10 ); 左上隅の座標(20,50)から幅100、高さ80の角丸長方形を描く。四隅の角丸の水平方向の直径15、垂直方向の直径10とする |
長円の描画 | drawOval ( int x1, int y1, int wi, int hi ); | drawOval( 20, 50, 100, 100 ); 座標(20,50)を左上隅とする幅100、高さ100の長方形に内接する長円(楕円)を描く。この例では半径50の円が描かれる |
円弧、扇型の描画 | drawArc ( int x1, int y1, int wi, int hi, int t1, int t2 ); | drawOval( 20, 50, 100, 100, 0, 120 ); 座標(20,50)を左上隅とする幅100、高さ100の長円の一部として、左回りに開始角度0度から120度開いた円弧(扇型)を描く。 |
多角形の描画 | drawPolygon ( int xPoint[], int yPoint[], int nPoint ); | int xp[]={20,50,80}; int yp[]={50,100,100}; drawPolygon( xp, yp, 3); 座標(20,50), (50,100), (80,100)の3つを頂点とする3角形を描く |
折れ線図形の描画 | drawPolyline ( int xPoint[], int yPoint[], int nPoint); | int xp[]={20,50,80}; int yp[]={50,100,75}; drawPolyline( xp, yp, 3); 座標(20,50), (50,100), (80,75)の3つを順に直線で結ぶ図形を描く |
// 例題3a Graphics01 基本図形1 GraphicsBasicsApplet1.java
package graphics01;
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
public class GraphicsBasicsApplet1 extends Applet {
public void paint ( Graphics g ) {
g.setColor ( Color.blue ) ; //描画色を青とする
g.drawString ( "長方形 blue", 270, 180 ) ;
g.drawRect ( 20,30, 250,150 ) ; //座標(20,30)からx幅250, y長150の長方形を描く
}
//アプレットのビルド
public GraphicsBasicsApplet1( ) {
}
//アプレットの初期化
public void init( ) {
setBackground ( Color.cyan ) ; //背景色をcyanとする
}
}
public void paint (Graphics g) {
g.setColor( Color.blue );
g.drawRect( 20,30, 250,150 );
g.drawString( "長方形 blue", 270, 180 );
g.setColor( Color.red );
g.drawLine( 20,180, 270,30 );
g.drawString( "直線 red", 145, 105 );
}
public void paint (Graphics g) {
g.setColor( Color.blue );
g.drawRect( 20,30, 250,150 );
g.drawString( "長方形 blue", 270, 180 );
g.setColor( Color.red );
g.drawLine( 20,180, 270,30 );
g.drawString( "直線 red", 145, 105 );
g.setColor( Color.orange );
g.drawString( "円 orange", 270, 280 );
g.drawOval( 20,30, 250,250 );
}
AppletはWebブラウザで動作するプログラムです。"GraphicsBasicsApplet1.html"ファイルとそこに記述されたgraphics01内にクラスファイル"GraphicsBasicsApplet1.class"の2つがあればAppletをInternetに公開することができます。
/.../classes/GraphicsBasicsApplet1.html
/.../classes/graphics01/GraphicsBasicsApplet1.class
このことを確かめてみます。
/<home>/.../classes/GraphicsBasicsApplet1.html | --> My Documents/GraphicsBasicsApplet1.html |
/<home>/.../classes/graphics01/GraphicsBasicsApplet1.class | --> My Documents/graphics01/GraphicsBasicsApplet1.class |
<body>
graphics01.GraphicsBasicsApplet1 は Java が使用できるブラウザで下に表示されます<br>
<applet
codebase = "."
code = "graphics01.GraphicsBasicsApplet1.class"
name = "GraphicsBasics01"
width = "400"
height = "300"
hspace = "0"
vspace = "0"
align = "top"
>
</applet>
</body>
Graphicsクラスには、次のような基本図形を塗りつぶして描画する fill methodがあります。大部分は draw method と同じ図形を塗りつぶします。数値の単位は点画素(ピクセル)です。
線図形 | method名と引数 | 使用例 |
---|---|---|
長方形を塗る | fillRect ( int x1, int y1, int width, int hight ); | fillRect( 20, 50, 100, 100 ); 座標(20,50)を左上隅として幅100、高さ100の長方形を塗りつぶす。 |
角丸の長方形を塗る | fillRoundRect ( int x1, int y1, int w, int h, int aw, int ah ); | fillRoundRect( 20, 50, 100, 80, 15, 10 ); 左上隅の座標(20,50)から幅100、高さ80の角丸長方形を塗りつぶす。四隅の角丸の水平方向の直径15、垂直方向の直径10とする |
長円、楕円を塗る | fillOval ( int x1, int y1, int width, int hight ); | fillOval( 20, 50, 100, 100 ); 座標(20,50)を左上隅とする幅100、高さ100の長方形に内接する長円(楕円)を塗りつぶす。この例では半径50の円を塗りつぶす。 |
円弧、扇形を塗る | fillArc ( int x1, int y1, int wi, int hi, int t1, int t2 ); | fillOval( 20, 50, 100, 100, 30, 120 ); 座標(20,50)を左上隅とする幅100、高さ100の長円の一部として、左回りに開始角度30度から120度開いた円弧(扇型)を塗りつぶす。 |
多角形を塗る | fillPolygon ( int xPoint[], int yPoint[], int nPoint ); | int xp[]={20,50,80}; int yp[]={50,100,100}; fillPolygon( xp, yp, 3); 座標(20,50), (50,100), (80,100)の3つを頂点とする3角形を塗りつぶす。 |
長方形を消去する | clearRect ( int x1, int y1, int width, int hight ); | crearRect( 20, 50, 200, 250 ); 座標(20,50)を左上隅として幅200、高さ250の長方形を背景色で消去(clear)する。 |
次のサンプルのようなAppletを作ってみよう。
うまくいきましたか。
Go to TOP | (C) T. Katayama ----- Last updated: |