多角形の描画
このページには、以下のサンプルを掲載しています。
下の項目をクリックをすると各サンプルにジャンプします。
※2週間以内の新着記事はNewアイコン、更新記事はUpアイコンが表示されます。
- 多角形の描画 ( PolygonSample01.java )
- 多角形の描画(塗りつぶし) ( PolygonSample02.java )
- 多角形の描画(太い輪郭線) ( PolygonSample03.java )
- 多角形の描画(太い輪郭線&塗りつぶし) ( PolygonSample04.java )
- 多角形の描画(破線の輪郭線) ( PolygonSample05.java )
- 多角形の描画(破線の輪郭線&塗りつぶし) ( PolygonSample06.java )
- 多角形の描画(グラデーション) ( PolygonSample07.java )
- 多角形の描画(テクスチャーパターン) ( PolygonSample08.java )
- 多角形の描画(回転) ( PolygonSample09.java )
多角形を描くメソッドには、次のものがあります。
・drawPolygon ・・ 多角形の描画を行います
・fillPolygon ・・ 多角形の描画を行い、中身を塗りつぶします
1. 多角形の描画
[ サンプルプログラムのソースコード - PolygonSample01.java - ]
- import javax.swing.JApplet;
- import java.awt.Graphics;
- import java.awt.Polygon;
- public class PolygonSample01 extends JApplet {
- public void paint(Graphics g){
- int[] xpoints = { 10,110, 80,110, 10, 40 };
- int[] ypoints = { 10, 10, 50,110,110, 50 };
- Polygon polygon = new Polygon(xpoints, ypoints, xpoints.length);
- g.drawPolygon(polygon);
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ 関連ページ ]
多角形描画のSwing版サンプル
アプレット版サンプルの他の図形描画
四角形 /
角の丸い四角形 /
円 /
楕円 /
直線 /
連続直線 /
ベジェ曲線 /
ベジェ曲線を含む図形 /
円弧 /
楕円弧 /
弓形 /
扇形
2. 多角形の描画(塗りつぶし)
[ サンプルプログラムのソースコード - PolygonSample02.java - ]
- import javax.swing.JApplet;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Polygon;
- public class PolygonSample02 extends JApplet {
- public void paint(Graphics g){
- g.setColor(Color.RED);
- int[] xpoints = { 10,110, 80,110, 10, 40 };
- int[] ypoints = { 10, 10, 60,110,110, 60 };
- Polygon polygon = new Polygon(xpoints, ypoints, xpoints.length);
- g.fillPolygon(polygon);
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ 関連ページ ]
多角形描画(塗りつぶし)のSwing版サンプル
アプレット版サンプルの他の図形描画
四角形(塗りつぶし) /
角の丸い四角形(塗りつぶし) /
円(塗りつぶし) /
楕円(塗りつぶし) /
ベジェ曲線を含む図形(塗りつぶし) /
弓形(塗りつぶし) /
扇形(塗りつぶし)
3. 多角形の描画(太い輪郭線)
[ サンプルプログラムのソースコード - PolygonSample03.java - ]
- import javax.swing.JApplet;
- import java.awt.BasicStroke;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.Polygon;
- public class PolygonSample03 extends JApplet {
- public void paint(Graphics g){
- Graphics2D g2 = (Graphics2D)g;
- int[] xpoints = { 10,110, 80,110, 10, 40 };
- int[] ypoints = { 10, 10, 60,110,110, 60 };
- Polygon polygon = new Polygon(xpoints, ypoints, xpoints.length);
- g2.setStroke(new BasicStroke(5.0f));
- g2.drawPolygon(polygon);
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ 関連ページ ]
多角形描画(太線)のSwing版サンプル
アプレット版サンプルの他の図形描画
四角形(太線) /
角の丸い四角形(太線) /
円(太線) /
楕円(太線) /
直線(太線) /
連続直線(太線) /
ベジェ曲線(太線) /
ベジェ曲線を含む図形(太線) /
円弧(太線) /
楕円弧(太線) /
弓形(太線) /
扇形(太線)
4. 多角形の描画(太い輪郭線&塗りつぶし)
[ サンプルプログラムのソースコード - PolygonSample04.java - ]
- import javax.swing.JApplet;
- import java.awt.BasicStroke;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.Polygon;
- public class PolygonSample04 extends JApplet {
- public void paint(Graphics g){
- Graphics2D g2 = (Graphics2D)g;
- int[] xpoints = { 10,110, 80,110, 10, 40 };
- int[] ypoints = { 10, 10, 60,110,110, 60 };
- Polygon polygon = new Polygon(xpoints, ypoints, xpoints.length);
- g2.setStroke(new BasicStroke(5.0f));
- g2.setColor(Color.GREEN);
- g2.fillPolygon(polygon);
- g2.setColor(Color.BLACK);
- g2.drawPolygon(polygon);
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ 関連ページ ]
多角形描画(太線&塗りつぶし)のSwing版サンプル
アプレット版サンプルの他の図形描画
四角形(太線&塗りつぶし) /
角の丸い四角形(太線&塗りつぶし) /
円(太線&塗りつぶし) /
楕円(太線&塗りつぶし) /
ベジェ曲線を含む図形(太線&塗りつぶし) /
弓形(太線&塗りつぶし) /
扇形(太線&塗りつぶし)
5. 多角形の描画(破線の輪郭線)
[ サンプルプログラムのソースコード - PolygonSample05.java - ]
- import javax.swing.JApplet;
- import java.awt.BasicStroke;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.Polygon;
- public class PolygonSample05 extends JApplet {
- public void paint(Graphics g){
- Graphics2D g2 = (Graphics2D)g;
- int[] xpoints = { 10,110, 80,110, 10, 40 };
- int[] ypoints = { 10, 10, 60,110,110, 60 };
- Polygon polygon = new Polygon(xpoints, ypoints, xpoints.length);
- float[] dash = { 20.0f, 5.0f,3.0f,5.0f };
- g2.setStroke(new BasicStroke(
- 2.0f,
- BasicStroke.JOIN_ROUND,
- BasicStroke.CAP_BUTT,
- 1.0f,
- dash,
- 0.0f));
- g2.drawPolygon(polygon);
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ 関連ページ ]
多角形描画(破線)のSwing版サンプル
アプレット版サンプルの他の図形描画
四角形(破線) /
角の丸い四角形(破線) /
円(破線) /
楕円(破線) /
直線(破線) /
連続直線(破線) /
ベジェ曲線(破線) /
ベジェ曲線を含む図形(破線) /
円弧(破線) /
楕円弧(破線) /
弓形(破線) /
扇形(破線)
6. 多角形の描画(破線の輪郭線&塗りつぶし)
[ サンプルプログラムのソースコード - PolygonSample06.java - ]
- import javax.swing.JApplet;
- import java.awt.BasicStroke;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.Polygon;
- public class PolygonSample06 extends JApplet {
- public void paint(Graphics g){
- Graphics2D g2 = (Graphics2D)g;
- int[] xpoints = { 10,110, 80,110, 10, 40 };
- int[] ypoints = { 10, 10, 60,110,110, 60 };
- Polygon polygon = new Polygon(xpoints, ypoints, xpoints.length);
- g2.setColor(Color.GREEN);
- g2.fillPolygon(polygon);
- float[] dash = { 20.0f, 5.0f,3.0f,5.0f };
- g2.setStroke(new BasicStroke(
- 2.0f,
- BasicStroke.JOIN_ROUND,
- BasicStroke.CAP_BUTT,
- 1.0f,
- dash,
- 0.0f));
- g2.setColor(Color.BLACK);
- g2.drawPolygon(polygon);
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ 関連ページ ]
多角形描画(破線&塗りつぶし)のSwing版サンプル
アプレット版サンプルの他の図形描画
四角形(破線&塗りつぶし) /
角の丸い四角形(破線&塗りつぶし) /
円(破線&塗りつぶし) /
楕円(破線&塗りつぶし) /
ベジェ曲線を含む図形(破線&塗りつぶし) /
弓形(破線&塗りつぶし) /
扇形(破線&塗りつぶし)
7. 多角形の描画(グラデーション)
[ サンプルプログラムのソースコード - PolygonSample07.java - ]
- import javax.swing.JApplet;
- import java.awt.Color;
- import java.awt.GradientPaint;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.Polygon;
- public class PolygonSample07 extends JApplet {
- public void paint(Graphics g){
- Graphics2D g2 = (Graphics2D)g;
- int[] xpoints = { 10,110, 80,110, 10, 40 };
- int[] ypoints = { 10, 10, 60,110,110, 60 };
- Polygon polygon = new Polygon(xpoints, ypoints, xpoints.length);
- GradientPaint gp = new GradientPaint(10,10,Color.GREEN,100,10,Color.BLUE,true);
- g2.setPaint(gp);
- g2.fillPolygon(polygon);
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ 関連ページ ]
多角形描画(グラデーション)のSwing版サンプル
アプレット版サンプルの他の図形描画
四角形(グラデーション) /
角の丸い四角形(グラデーション) /
円(グラデーション) /
楕円(グラデーション) /
ベジェ曲線を含む図形(グラデーション) /
弓形(グラデーション) /
扇形(グラデーション) /
グラデーションサンプル
8. 多角形の描画(テクスチャーパターン)
[ サンプルプログラムのソースコード - PolygonSample08.java - ]
- import javax.swing.JApplet;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.Polygon;
- import java.awt.Rectangle;
- import java.awt.TexturePaint;
- import java.awt.image.BufferedImage;
- public class PolygonSample08 extends JApplet {
-
- public void paint(Graphics g){
- Graphics2D g2 = (Graphics2D)g;
- int[] xpoints = { 10,110, 80,110, 10, 40 };
- int[] ypoints = { 10, 10, 60,110,110, 60 };
- Polygon polygon = new Polygon(xpoints, ypoints, xpoints.length);
- BufferedImage bi = new BufferedImage(10,10,BufferedImage.TYPE_INT_RGB);
- Graphics2D bg = bi.createGraphics();
- Rectangle r = new Rectangle(0,0,10,10);
- bg.setColor(Color.ORANGE);
- bg.fillRect(0, 0, 10, 10);
- bg.setColor(Color.BLUE);
- bg.drawLine(0, 0, 10, 0);
- bg.drawLine(0, 0, 0, 5);
- bg.drawLine(0, 5, 10, 5);
- bg.drawLine(5, 5, 5, 10);
- TexturePaint tp = new TexturePaint(bi,r);
- g2.setPaint(tp);
- g2.fillPolygon(polygon);
-
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ 関連ページ ]
多角形描画(テクスチャーパターン)のSwing版サンプル
アプレット版サンプルの他の図形描画
四角形(テクスチャーパターン) /
角の丸い四角形(テクスチャーパターン) /
円(テクスチャーパターン) /
楕円(テクスチャーパターン) /
ベジェ曲線を含む図形(テクスチャーパターン) /
弓形(テクスチャーパターン) /
扇形(テクスチャーパターン) /
いろいろなテクスチャーパターン
9. 多角形の描画(回転)
[ サンプルプログラムのソースコード - PolygonSample09.java - ]
- import javax.swing.JApplet;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.Polygon;
- import java.awt.Rectangle;
- import java.awt.TexturePaint;
- import java.awt.geom.AffineTransform;
- import java.awt.image.BufferedImage;
- public class PolygonSample09 extends JApplet {
- private static final long serialVersionUID = 1L;
- public void paint(Graphics g){
- Graphics2D g2 = (Graphics2D)g;
- int[] xpoints = { 20,100, 75,100, 20, 45 };
- int[] ypoints = { 20, 20, 60,100,100, 60 };
- Polygon polygon = new Polygon(xpoints, ypoints, xpoints.length);
- BufferedImage bi = new BufferedImage(10,10,BufferedImage.TYPE_INT_RGB);
- Graphics2D bg = bi.createGraphics();
- Rectangle r = new Rectangle(0,0,10,10);
- bg.setColor(Color.ORANGE);
- bg.fillRect(0, 0, 10, 10);
- bg.setColor(Color.BLUE);
- bg.drawLine(0, 0, 10, 0);
- bg.drawLine(0, 0, 0, 5);
- bg.drawLine(0, 5, 10, 5);
- bg.drawLine(5, 5, 5, 10);
- TexturePaint tp = new TexturePaint(bi,r);
- g2.setPaint(tp);
- AffineTransform at = new AffineTransform();
- at.setToRotation(45*Math.PI/180.0f, 60,60);
- g2.setTransform(at);
- g2.fillPolygon(polygon);
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ 関連ページ ]
多角形描画(回転)のSwing版サンプル
アプレット版サンプルの他の図形描画
四角形(回転) /
角の丸い四角形(回転) /
円(回転) /
楕円(回転) /
ベジェ曲線を含む図形(回転) /
アニメーションサンプル(図形の回転)
|