Graphics.setColor(Color);
描画色を設定
Color = Graphics.getColor();
現在の描画色をColorインスタンスとして返す
・フォントに関するもの
Graphics.setFont(Font);
描画フォントを設定
Font = Graphics.getFont();
現在のフォントをFontインスタンスとして返す
・基本図形の描画
Graphics.drawRect(横位置,縦位置,横幅,縦幅);
枠線のみの四角形を描く
Graphics.fillRect(横位置,縦位置,横幅,縦幅);
内部を塗りつぶした四角形を描く
Graphics.drawOval(横位置,縦位置,横幅,縦幅);
輪郭線のみの円を描く
Graphics.fillOval(横位置,縦位置,横幅,縦幅);
内部を塗りつぶした円を描く
Graphics.drawLine(横位置1,縦位置1,横位置2,縦位置2);
2点を結ぶ直線を描く
Graphics.draw3DRect(横位置,縦位置,横幅,縦幅,boolean);
輪郭を立体化した四角形を描く。
booleanがtrueの場合飛び出して、falseの場合へこんで描く
Graphics.drawRoundRect(横位置,縦位置,横幅,縦幅,丸みの横幅,丸みの縦幅);
角の丸くなった枠線のみの四角形を描きます。
Graphics.fillRoundRect(横位置,縦位置,横幅,縦幅,丸みの横幅,丸みの縦幅);
角の丸くなった塗りつぶした四角形を描きます。
Graphics.drawArc(横位置,縦位置,横幅,縦幅,開始角度,描画角度);
円弧の曲線を描く
Graphics.fillArc(横位置,縦位置,横幅,縦幅,開始角度,描画角度);
扇形図形を描く
Graphics.drawPolyline(int配列1,int配列2,int値);
連続する開いた直線図形を描く
Graphics.drawPolygon(int配列1,int配列2,int値);
連続する閉じた直線図形を描く
Graphics.fillPolygon(int配列1,int配列2,int値);
連続する閉じた直線図形の内部を塗り潰す
Graphics.drawPolygon(Polygon);
連続する閉じた直線図形のインスタンスで描く
Graphics.drawPolygon(Polygon);
連続する閉じた直線図形のインスタンスの内部を塗り潰す
・イメージファイル(JPEG,GIF,PNG)の描画
①ToolkitクラスのメソッドでデフォルトのToolkitインスタンスを得る
Toolkit tk;
tk = Toolkit.getDefaultToolkit();
②イメージファイルからイメージを読み込みImageインスタンスとして返す
Image img;
img = Toolkit.getImage(String);
img = Toolkit.getImage(URL);
③イメージを表示する
Grahics.drawImage(image,横位置,縦位置,ImageObserver);
Grahics.drawImage(image,横位置,縦位置,Color,ImageObserver);
Grahics.drawImage(image,横位置,縦位置,横幅,縦幅,ImageObserver);
Grahics.drawImage(image,横位置,縦位置,横幅,縦幅,Color,ImageObserver);
Grahics.drawImage(image,横位置1,縦位置1,横幅1,縦幅1,横位置2,縦位置2,横幅2,縦幅2,ImageObserver);
Grahics.drawImage(image,横位置1,縦位置1,横幅1,縦幅1,横位置2,縦位置2,横幅2,縦幅2,Color,ImageObserver);
・イメージファイル(JPEG,GIF,PNG)の描画(paint以外で描画)
マウスをクリックしたら描画をする
public class ImageApp extends Frame{
Image im = null;
Graphics g2 = null;
public static void main(String[] args) {
new ImageApp();
}
public ImageApp(){
this.addMouseListener(new MyMouseAdapter());
this.setSize(300,200);
this.setVisible(true);
}
public void paint(Graphics g){
if(im == null){
im = this.createImage(this.getWidth(),this.getHeight());
g2 = im.getGraphics();
}
g.drawImage(im, 0, 0, this);
}
class MyMouseAdapter extends MouseAdapter{
public void mouseClicked(MouseEvent ev){
int x = ev.getX();
int y = ev.getY();
for(int i=0; i<10; i++){
g2.setColor(new Color(255,i*25,i*25));
g2.drawOval(x-i*3, y-i*3, i*3*2, i*3*2);
}
g2.dispose();
}
}
}
・Graphicsを取得する
コンポーネントのGraphicsインスタンスのコピーを返す
Graphics g = this.getGraphics();
・Graphicsを破棄する
Graphicsインスタンスを破棄する
Graphics.dispose();
・イメージファイル(JPEG,GIF,PNG)の描画(imageインスタンスを使用したバッファリング)
マウスをクリックしたら描画をする
public class FileioApp extends Frame{
private static final long serialVersionUID = 1L;
Image im = null;
Graphics g2 = null;
public static void main(String[] args) {
new FileioApp();
}
public void paint(Graphics g){
if(im == null){
im = this.createImage(this.getWidth(), this.getHeight());
g2 = im.getGraphics();
}
g.drawImage(im, 0, 0, this);
}
public FileioApp(){
this.addMouseListener(new MyMouseAdapter());
this.setSize(300,200);
this.setVisible(true);
}
class MyMouseAdapter extends MouseAdapter{
public void mouseClicked(MouseEvent ev){
int x = ev.getX();
int y = ev.getY();
for(int i=0;i<10;i++){
g2.setColor(new Color(255,i*25,i*25));
g2.drawOval(x-i*3, y-i*3, i*3*2,i*3*2);
}
repaint();
}
}
}
0 件のコメント:
コメントを投稿