2021/03/11 公開
・長方形描画
ここでは、長方形(矩形の)の輪郭と、塗りつぶされた長方形を描画する方法を解説します。
長方形は、左上の座標(x,y)と幅widthと高さheightを指定して描画します。幅widthと高さheightに同じ値を指定すると正方形が描画されます。

Graphics.drawRectメソッド
■指定された矩形(長方形)の輪郭を描画します。 パラメータ x : 描画する矩形の左上隅のx座標 y : 描画する矩形の左上隅のy座標 width : 描画する矩形の幅 height : 描画する矩形の高さ 戻り値 なし
Graphics.fillRectメソッド
■指定された矩形(長方形)を塗りつぶします。 パラメータ x : 描画する矩形の左上隅のx座標 y : 描画する矩形の左上隅のy座標 width : 描画する矩形の幅 height : 描画する矩形の高さ 戻り値 なし
それでは、ここから長方形を描画する方法をJavaのソースコード例で説明していきます。
GR_Rect1.java ← クリックしてダウンロードページに移動001: import java.awt.*; 002: import javax.swing.*; 003: 004: public class GR_Rect1 { 005: public static void main(String[] args) { 006: JFrame frame = new JFrame(); 007: 008: // // タイトル名を設定 009: frame.setTitle( "タイトル" ); 010: 011: // フレームの大きさを設定 012: frame.setSize( 256, 256 ); 013: 014: // ”×”ボタンを押した時の処理を設定 015: frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE ); 016: 017: // フレームにパネルを追加 018: MyPanel panel = new MyPanel(); 019: frame.getContentPane().add( panel ); 020: 021: // フレームを表示 022: frame.setVisible( true ); 023: } 024: } 025: 026: 027: // JPanelを継承したMyPanelを作成 028: class MyPanel extends JPanel { 029: public MyPanel() { 030: // 背景色を黒(black)に設定 031: setBackground( Color.black ); 032: } 033: 034: 035: // 描画 036: public void paintComponent( Graphics g ) { 037: super.paintComponent( g ); 038: 039: // 長方形の輪郭を描画 040: // 色を青(blue)に設定 041: g.setColor(Color.blue ); 042: // 描画 043: g.drawRect( 40, 40, 160, 50 ); 044: 045: // 塗りつぶし長方形を描画 046: // 色を赤(red)に設定 047: g.setColor(Color.red ); 048: // 描画 049: g.fillRect( 40, 120, 160, 50 ); 050: } 051: }
GR_Rect1.javaの実行結果

青い長方形の輪郭と、赤く塗りつぶされた長方形が描画されています。
ここからは、このソースコードを上から順番に解説していきます。
001: import java.awt.*; 002: import javax.swing.*;
Javaのクラスライブラリの中から「java.awt」と「javax.swing」というパッケージにあるクラスを、このプログラム内で使うために記述します。
004: public class GR_Rect1 {
クラス名を、GR_Rect1としています。
005: public static void main(String[] args) {
このmainメソッドからプログラムを実行します。
006: JFrame frame = new JFrame();
フレームの表示は、JFrameクラスを使います。
008: // // タイトル名を設定 009: frame.setTitle( "タイトル" );
ウィンドウに表示するタイトルを指定します。この例では、タイトルという文字列を指定しています。
011: // フレームの大きさを設定 012: frame.setSize( 256, 256 );
フレーム全体のサイズを指定します。この例では、フレーム全体(タイトルバーと縁を含む)のサイズは256x256ピクセルです。

014: // ”×”ボタンを押した時の処理を設定 015: frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
"×"ボタンを押したときの処理を指定します。JFrame.EXIT_ON_CLOSEは、フレームを閉じることを意味しています。
017: // フレームにパネルを追加 018: MyPanel panel = new MyPanel(); 019: frame.getContentPane().add( panel );
フレームにパネル(Jpanelクラス)を割り当てます。パネルは、グラフィック表示やボタンなどを乗せられる板のようなものです。ここでは、JPanelクラスを継承したMyPanelクラスを作り、そのクラスの中で円・楕円を描画します。MyPanelクラスのソースは27行目から書いています。
027: // JPanelを継承したMyPanelを作成 028: class MyPanel extends JPanel {
029: public MyPanel() { 030: // 背景色を黒(black)に設定 031: setBackground( Color.black );
パネルの背景色を黒にしています。public MyPanel()は、MyPanelクラスが作られる(実行される)ときに1回だけ呼ばれるメソッドです。public クラス名( 引数 )を書くことで、最初に実行するメソッドを作ることが出来ます。
035: // 描画 036: public void paintComponent( Graphics g ) { 037: super.paintComponent( g );
パネルの描画メソッドです。このpublic void paintComponent( Graphics g )メソッドは、パネルの表示が必要なときに呼び出されるメソッドです。メソッド名と引数は、変えないでください。
039: // 長方形の輪郭を描画 040: // 色を青(blue)に設定 041: g.setColor(Color.blue ); 042: // 描画 043: g.drawRect( 40, 40, 160, 50 );
ここから長方形の輪郭の描画です。ここでは、輪郭線の色を青に設定しています。drawRectメソッドに左上隅の座標(40,40)、幅160、高さ50を与えて描画しています。
Graphics.setColorメソッド
■このグラフィックスコンテキストの現在の色を、指定された色に設定します。 パラメータ c : 色 戻り値 なし
045: // 塗りつぶし長方形を描画 046: // 色を赤(red)に設定 047: g.setColor(Color.red ); 048: // 描画 049: g.fillRect( 40, 120, 160, 50 );
ここから塗りつぶした長方形の描画です。ここでは、塗りつぶしの色を赤に設定しています。fillRectメソッドに左上隅の座標(40,120)、幅160、高さ50を与えて描画しています。
以上
■関連コンテンツ
フレームの表示 | 図形を表示するフレーム(枠)の表示方法について解説 |
円・楕円描画 | 円・楕円の輪郭を描画する方法解説 |
背景色の変更 | 図形を表示するフレームの背景色の変更方法について解説 |
ライン描画 | ラインを描画する方法解説 |
画像の座標系 | 画像の座標系について解説 |
画素 | 画素について説明 |
画像処理とは | 画像処理とは何かを解説 |
![]() |
光と色の3原色光の3色(RGB)の混合と、インクの3色(CMY)の混合の考え方を説明しています。 |
■新着情報
2021.12.21 | 現在の日時を取得 | いまの年月日、時分秒? |
■広告
