Javaアプレットによる2Dグラフィックサンプル 角の丸い四角形の描画

Javaグラフィックサンプル(アプレット版):角の丸い四角形の描画に関する図形描画サンプルです。輪郭線を太くしたり、破線にしたり。図形内のグラデーション、パターン描画等のサンプルを掲載しています。

Home > サンプル集 > アプレットサンプル集 > 角の丸い四角形の描画


角の丸い四角形の描画

このページには、以下のサンプルを掲載しています。 下の項目をクリックをすると各サンプルにジャンプします。 ※2週間以内の新着記事はNewアイコン、更新記事はUpアイコンが表示されます。
  1. 角の丸い四角形の描画 ( RectSample01.java )  
  2. 角の丸い四角形の描画(塗りつぶし) ( RoundRectSample02.java )  
  3. 角の丸い四角形の描画(太い輪郭線) ( RoundRectSample03.java )  
  4. 角の丸い四角形の描画(太い輪郭線&塗りつぶし) ( RoundRectSample04.java )  
  5. 角の丸い四角形の描画(破線の輪郭線) ( RoundRectSample05.java )  
  6. 角の丸い四角形の描画(破線の輪郭線&塗りつぶし) ( RoundRectSample06.java )  
  7. 角の丸い四角形の描画(グラデーション) ( RoundRectSample07.java )  
  8. 角の丸い四角形の描画(グラデーション) ( RoundRectSample08.java )  
  9. 角の丸い四角形の描画(回転) ( RoundRectSample09.java )  

角の丸い四角形を描画するには、下記のメソッドを使います。普通の四角形よりも与える引数が多くなります。
・drawRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)

メソッドの引数は、それぞれ下記の意味となります。
 x : 描画する角の丸い四角形を囲った四角形の左上の点のx座標
 y : 描画する角の丸い四角形を囲った四角形の左上の点のy座標
 width : 描画する角の丸い四角形の横幅
 height : 描画する角の丸い四角形を囲った四角形の高さ
 arcWidth : 描画する角の丸い四角形の丸くなっている部分の横幅
 arcHeight : 描画する角の丸い四角形の丸くなっている部分の高さ

・fillRoundRect(int x, int y, int width, int height, int arcWidth, int arcHeight)
 引数の意味は、drawRoundRectと同じになります。角の丸い四角形を描画して中身を塗りつぶします。

1. 角の丸い四角形の描画

[ サンプルプログラムのソースコード - RoundRectSample01.java - ]
  1. import javax.swing.JApplet;
  2. import java.awt.Color;
  3. import java.awt.Graphics;
  4. public class RoundRectSample01 extends JApplet {
  5.   public void paint(Graphics g){
  6.     g.setColor(Color.RED);
  7.     g.drawRoundRect(10, 10, 100, 100, 30, 10);
  8.   }
  9. }
[ サンプルプログラムの実行結果 ]

[ 関連ページ ]
角の丸い四角形描画のSwing版サンプル
アプレット版サンプルの他の図形描画
四角形 / / 楕円 / 直線 / 連続直線 / 多角形 / ベジェ曲線を含む図形 / 円弧 / 楕円弧 / 弓形 / 扇形


2. 角の丸い四角形の描画(塗りつぶし)

[ サンプルプログラムのソースコード - RoundRectSample02.java - ]
  1. import javax.swing.JApplet;
  2. import java.awt.Color;
  3. import java.awt.Graphics;
  4. public class RoundRectSample02 extends JApplet {
  5.   public void paint(Graphics g){
  6.     g.setColor(Color.RED);
  7.     g.fillRoundRect(10, 10, 100, 100, 30, 10);
  8.   }
  9. }
[ サンプルプログラムの実行結果 ]

[ 関連ページ ]
角の丸い四角形描画(塗りつぶし)のSwing版サンプル
アプレット版サンプルの他の図形描画
四角形(塗りつぶし) / 円(塗りつぶし) / 楕円(塗りつぶし) / 多角形(塗りつぶし) / ベジェ曲線を含む図形(塗りつぶし) / 弓形(塗りつぶし) / 扇形(塗りつぶし)


3. 角の丸い四角形の描画(太い輪郭線)

[ サンプルプログラムのソースコード - RoundRectSample03.java - ]
  1. import javax.swing.JApplet;
  2. import java.awt.BasicStroke;
  3. import java.awt.Color;
  4. import java.awt.Graphics;
  5. import java.awt.Graphics2D;
  6. public class RoundRectSample03 extends JApplet {
  7.   public void paint(Graphics g){
  8.     Graphics2D g2 = (Graphics2D)g;
  9.     g2.setStroke(new BasicStroke(5.0f));
  10.     g2.setColor(Color.GREEN);
  11.     g2.drawRoundRect(10, 10, 100, 100, 30, 30);
  12.   }
  13. }
[ サンプルプログラムの実行結果 ]

[ 関連ページ ]
角の丸い四角形描画(太線)のSwing版サンプル
アプレット版サンプルの他の図形描画
四角形(太線) / 円(太線) / 楕円(太線) / 直線(太線) / 連続直線(太線) / 多角形(太線) / ベジェ曲線を含む図形(太線) / 円弧(太線) / 楕円弧(太線) / 弓形(太線) / 扇形(太線)


4. 角の丸い四角形の描画(太い輪郭線&塗りつぶし)

[ サンプルプログラムのソースコード - RoundRectSample04.java - ]
  1. import javax.swing.JApplet;
  2. import java.awt.BasicStroke;
  3. import java.awt.Color;
  4. import java.awt.Graphics;
  5. import java.awt.Graphics2D;
  6. public class RoundRectSample04 extends JApplet {
  7.   public void paint(Graphics g){
  8.     Graphics2D g2 = (Graphics2D)g;
  9.     g2.setColor(Color.GREEN);
  10.     g.fillRoundRect(10, 10, 100, 100, 30, 30);
  11.     g2.setColor(Color.RED);
  12.     g2.setStroke(new BasicStroke(5.0f));
  13.     g2.drawRoundRect(10, 10, 100, 100, 30, 30);
  14.   }
  15. }
[ サンプルプログラムの実行結果 ]

[ 関連ページ ]
角の丸い四角形描画(太線&塗りつぶし)のSwing版サンプル
アプレット版サンプルの他の図形描画
四角形(太線&塗りつぶし) / 円(太線&塗りつぶし) / 楕円(太線&塗りつぶし) / 多角形(太線&塗りつぶし) / ベジェ曲線を含む図形(太線&塗りつぶし) / 弓形(太線&塗りつぶし) / 扇形(太線&塗りつぶし)


5. 角の丸い四角形の描画(破線の輪郭線)

[ サンプルプログラムのソースコード - RoundRectSample05.java - ]
  1. import javax.swing.JApplet;
  2. import java.awt.BasicStroke;
  3. import java.awt.Color;
  4. import java.awt.Graphics;
  5. import java.awt.Graphics2D;
  6. public class RoundRectSample05 extends JApplet {
  7.   public void paint(Graphics g){
  8.     Graphics2D g2 = (Graphics2D)g;
  9.     g2.setColor(Color.GREEN);
  10.     float[] dash = { 20.0f, 5.0f,3.0f,5.0f };
  11.     g2.setStroke(new BasicStroke(
  12.         2.0f,
  13.         BasicStroke.JOIN_ROUND,
  14.         BasicStroke.CAP_BUTT,
  15.         1.0f,
  16.         dash,
  17.         0.0f));
  18.     g2.drawRoundRect(10, 10, 100, 100, 30, 30);
  19.   }
  20. }
[ サンプルプログラムの実行結果 ]

[ 関連ページ ]
角の丸い四角形描画(破線)のSwing版サンプル
アプレット版サンプルの他の図形描画
四角形(破線) / 円(破線) / 楕円(破線) / 直線(破線) / 連続直線(破線) / 多角形(破線) / ベジェ曲線を含む図形(破線) / 円弧(破線) / 楕円弧(破線) / 弓形(破線) / 扇形(破線)


6. 角の丸い四角形の描画(破線の輪郭線&塗りつぶし)

[ サンプルプログラムのソースコード - RoundRectSample06.java - ]
  1. import javax.swing.JApplet;
  2. import java.awt.BasicStroke;
  3. import java.awt.Color;
  4. import java.awt.Graphics;
  5. import java.awt.Graphics2D;
  6. public class RoundRectSample06 extends JApplet {
  7.   public void paint(Graphics g){
  8.     Graphics2D g2 = (Graphics2D)g;
  9.     g2.setColor(Color.GREEN);
  10.     g2.fillRoundRect(10, 10, 100, 100, 30, 30);
  11.     g2.setColor(Color.RED);
  12.     float[] dash = { 20.0f, 5.0f,3.0f,5.0f };
  13.     g2.setStroke(new BasicStroke(
  14.         2.0f,
  15.         BasicStroke.JOIN_ROUND,
  16.         BasicStroke.CAP_BUTT,
  17.         1.0f,
  18.         dash,
  19.         0.0f));
  20.     g2.drawRoundRect(10, 10, 100, 100, 30, 30);
  21.   }
  22. }
[ サンプルプログラムの実行結果 ]

[ 関連ページ ]
角の丸い四角形描画(破線&塗りつぶし)のSwing版サンプル
アプレット版サンプルの他の図形描画
四角形(破線&塗りつぶし) / 円(破線&塗りつぶし) / 楕円(破線&塗りつぶし) / 多角形(破線&塗りつぶし) / ベジェ曲線を含む図形(破線&塗りつぶし) / 弓形(破線&塗りつぶし) / 扇形(破線&塗りつぶし)


7. 角の丸い四角形の描画(グラデーション)

[ サンプルプログラムのソースコード - RoundRectSample07.java - ]
  1. import javax.swing.JApplet;
  2. import java.awt.Color;
  3. import java.awt.GradientPaint;
  4. import java.awt.Graphics;
  5. import java.awt.Graphics2D;
  6. public class RoundRectSample07 extends JApplet {
  7.     public void paint(Graphics g){
  8.       Graphics2D g2 = (Graphics2D)g;
  9.       GradientPaint gp = new GradientPaint(10,10,Color.GREEN,100,10,Color.BLUE,true);
  10.       g2.setPaint(gp);
  11.       g2.fillRoundRect(10, 10, 100, 100, 30, 30);
  12.   
  13.     }
  14. }
[ サンプルプログラムの実行結果 ]

[ 関連ページ ]
角の丸い四角形描画(グラデーション)のSwing版サンプル
アプレット版サンプルの他の図形描画
四角形(グラデーション) / 円(グラデーション) / 楕円(グラデーション) / 多角形(グラデーション) / ベジェ曲線を含む図形(グラデーション) / 弓形(グラデーション) / 扇形(グラデーション) / グラデーションサンプル


8. 角の丸い四角形の描画(テクスチャーパターン)

[ サンプルプログラムのソースコード - RoundRectSample08.java - ]
  1. import javax.swing.JApplet;
  2. import java.awt.Color;
  3. import java.awt.Graphics;
  4. import java.awt.Graphics2D;
  5. import java.awt.Rectangle;
  6. import java.awt.TexturePaint;
  7. import java.awt.image.BufferedImage;
  8. public class RoundRectSample08 extends JApplet {
  9.   public void paint(Graphics g){
  10.     Graphics2D g2 = (Graphics2D)g;
  11.     BufferedImage bi = new BufferedImage(10,10,BufferedImage.TYPE_INT_RGB);
  12.     Graphics2D bg = bi.createGraphics();
  13.     Rectangle r = new Rectangle(0,0,10,10);
  14.     bg.setColor(Color.ORANGE);
  15.     bg.fillRect(0, 0, 10, 10);
  16.     bg.setColor(Color.BLUE);
  17.     bg.drawLine(0, 0, 10, 0);
  18.     bg.drawLine(0, 0, 0, 5);
  19.     bg.drawLine(0, 5, 10, 5);
  20.     bg.drawLine(5, 5, 5, 10);
  21.     TexturePaint tp = new TexturePaint(bi,r);
  22.     g2.setPaint(tp);
  23.     g2.fillRoundRect(10, 10, 100, 100, 30, 30);
  24.   }
  25. }
[ サンプルプログラムの実行結果 ]

[ 関連ページ ]
角の丸い四角形描画(テクスチャーパターン)のSwing版サンプル
アプレット版サンプルの他の図形描画
四角形(テクスチャーパターン) / 円(テクスチャーパターン) / 楕円(テクスチャーパターン) / 多角形(テクスチャーパターン) / ベジェ曲線を含む図形(テクスチャーパターン) / 弓形(テクスチャーパターン) / 扇形(テクスチャーパターン) / いろいろなテクスチャーパターン


9. 角の丸い四角形の描画(回転)

[ サンプルプログラムのソースコード - RoundRectSample09.java - ]
  1. import javax.swing.JApplet;
  2. import java.awt.Color;
  3. import java.awt.Graphics;
  4. import java.awt.Graphics2D;
  5. import java.awt.Rectangle;
  6. import java.awt.TexturePaint;
  7. import java.awt.geom.AffineTransform;
  8. import java.awt.geom.RoundRectangle2D;
  9. import java.awt.image.BufferedImage;
  10. public class RoundRectSample09 extends JApplet {
  11.   private static final long serialVersionUID = 1L;
  12.   public void paint(Graphics g){
  13.     Graphics2D g2 = (Graphics2D)g;
  14.     BufferedImage bi = new BufferedImage(10,10,BufferedImage.TYPE_INT_RGB);
  15.     Graphics2D bg = bi.createGraphics();
  16.     Rectangle r = new Rectangle(0,0,10,10);
  17.     bg.setColor(Color.ORANGE);
  18.     bg.fillRect(0, 0, 10, 10);
  19.     bg.setColor(Color.BLUE);
  20.     bg.drawLine(0, 0, 10, 0);
  21.     bg.drawLine(0, 0, 0, 5);
  22.     bg.drawLine(0, 5, 10, 5);
  23.     bg.drawLine(5, 5, 5, 10);
  24.     TexturePaint tp = new TexturePaint(bi,r);
  25.     g2.setPaint(tp);
  26.     AffineTransform at = new AffineTransform();
  27.     at.setToRotation(Math.toRadians(45), 75, 55);
  28.     g2.setTransform(at);
  29.     RoundRectangle2D rect = new RoundRectangle2D.Double();
  30.     rect.setRoundRect(40, 20, 70, 70, 30, 10);
  31.     g2.fill(rect);
  32.   }
  33. }
[ サンプルプログラムの実行結果 ]

[ 関連ページ ]
角の丸い四角形描画(回転)のSwing版サンプル
アプレット版サンプルの他の図形描画
四角形(回転) / 円(回転) 楕円(回転) / 多角形(回転) / ベジェ曲線を含む図形(回転) / 弓形(回転) / 扇形(回転) / アニメーションサンプル(図形の回転)




最終更新日:2019/02/13

2015-03-01からの訪問者数
  1816 人