Javaでグラフィックスを使う
2013年3月10日:Java
プログラミングをしていると、円を描いたり四角形を描いたりしたい場合があります。
例えば、ボールの軌道を表示したい場合などに使用可能ですね。
ここでは、正方形を表示する方法を紹介します。
GUIを作成する
まず、以下のようにGUIを作成します。
ラベルに描写するので、領域を大きくします。プロパティは
テキスト・フィールド: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) | 文字列を描写する |
実行すると以下のようになります。
著者:安井 真人(やすい まさと)
@yasui_masatoさんをフォロー