Javaでグラフィックスを使う

GUI.png

プログラミングをしていると、円を描いたり四角形を描いたりしたい場合があります。

例えば、ボールの軌道を表示したい場合などに使用可能ですね。

ここでは、正方形を表示する方法を紹介します。

GUIを作成する

まず、以下のようにGUIを作成します。

GUI.png

ラベルに描写するので、領域を大きくします。プロパティは

テキスト・フィールド:txtField

ボタン:btnShow

ラベル:Label

とします。

コードを書く

ボタンを押した際のコードを以下のように書きます。

    private void btnShowActionPerformed(java.awt.event.ActionEvent evt) {
        // TODO add your handling code here:
        //正方形の1辺の長さを取得
        String str=txtField.getText();
        int l=Integer.parseInt(str);
        //画像の準備
        Image img=createImage(250,250);
        Graphics g=img.getGraphics();
        //描写の開始
        g.setColor(Color.BLUE);
        g.fillRect(0,0,l,l);
        g.dispose();
        //ラベルに画像をかく
        ImageIcon icon=new ImageIcon(img);
        label.setIcon(icon);
    }

ここで使用する命令を使うには

import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import javax.swing.ImageIcon;

を@authorのコメントの下に記述します。

解説

Image img=createImage(250,250);

Graphics g=img.getGraphics();

で250☓250の画像描写スペースを確保します。

g.setColor(Color.BLUE);

で色を青にセットして

g.fillRect(0,0,l,l);

で1辺lの正方形を描写します。

g.dispose();

で描写に使用したオブジェクトを解放します。

ImageIcon icon=new ImageIcon(img);

でimgをiconに変換し

label.setIcon(icon);

でラベルに表示します。

正方形以外の描写にも以下の命令で様々な図形を描写できます。

文法 説明
void drawLine(int x1,int y1,int x2,int y2) 直線を引く
void drawRect(int x,int y,int width,int height) 長方形を描写する
void drawOval(int x,int y,int width,int height) 楕円を描写する
void fillRect(int x,int y,int width,int height) 長方形を塗りつぶす
void fillOval(int x,int y,int width,int height) 楕円を塗りつぶす
void drawString(String str,int x,int y) 文字列を描写する

実行すると以下のようになります。

実行

著者:安井 真人(やすい まさと)