2015/11/14 公開
・ライン描画
ここでは、ライン描画の仕方を解説します。
ラインは2つの座標(x1,y1)と(x2,y2)を結んだ直線です。指定する座標がグラフィックで使う座標は、7以下は、ラインを描画するJavaのソースコードと実行結果です。
GR_Line.java ← クリックしてダウンロードページに移動001: import java.awt.*; 002: import javax.swing.*; 003: 004: public class GR_Line { 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: // ラインの色を赤(red)に設定 040: g.setColor(Color.red); 041: 042: // ラインを描画 043: g.drawLine( 10, 50, 220, 200 ); 044: } 045: }
GR_Line.javaの実行結果

ここからは、このソースコードを上から順番に解説していきます。
001: import java.awt.*; 002: import javax.swing.*;
Javaのクラスライブラリの中から「java.awt」と 「javax.swing」というパッケージにあるクラスを、このプログラム内で使うために記述します。
004: public class GR_Line {
クラス名を、GR_Lineとしています。
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: // ラインの色を赤(red)に設定 040: g.setColor(Color.red);
ここからラインの描画です。ここでは、ラインの色を赤に設定しています。
Graphics.setColorメソッド
■このグラフィックスコンテキストの現在の色を、指定された色に設定します。 パラメータ c : 色 戻り値 なし
042: // ラインを描画 043: g.drawLine( 10, 50, 220, 200 );
ラインの描画です。グラフィック座標(10,50)と(220,200)を結んだ直線を描画します。この例では線幅を指定していないので1ピクセルの幅のラインが描画されます。
グラフィック座標のx軸は、原点より右をプラス、左をマイナスの数値で表します。y軸は、原点より下をプラス、上をマイナスの数値で表します。下の図は、グラフィック座標系を表しています。

Graphics.drawLineメソッド
■このグラフィックスコンテキストの座標系の点 (x1, y1) と点 (x2, y2) との 間に現在の色を使って線を描きます。 パラメータ x1 : グラフィックスコンテキストのx座標1 y1 : グラフィックスコンテキストのy座標1 x2 : グラフィックスコンテキストのx座標2 y2 : グラフィックスコンテキストのy座標2 戻り値 なし
■ライン描画の例
正三角形の描画 | ラインを使った正三角形の描画方法について解説 |
■関連コンテンツ
フレームの表示 | 図形を表示するフレーム(枠)の表示方法について解説 |
背景色の変更 | 図形を表示するフレームの背景色の変更方法について解説 |
長方形描画 | 長方形(矩形)の描画方法 |
画像の座標系 | 画像の座標系について解説 |
画素 | 画素について説明 |
画像処理とは | 画像処理とは何かを解説 |
![]() |
光と色の3原色光の3色(RGB)の混合と、インクの3色(CMY)の混合の考え方を説明しています。 |
■新着情報
2021.12.21 | 現在の日時を取得 | いまの年月日、時分秒? |
■広告
