Home > サンプル集 > Swingサンプル集 > ベジェ曲線を含む図形の描画-Swing版-
ベジェ曲線を含む図形の描画-Swing版-
このページには、以下のサンプルを掲載しています。
下の項目をクリックをすると各サンプルにジャンプします。
※2週間以内の新着記事はNewアイコン、更新記事はUpアイコンが表示されます。
- ベジェ曲線を含む図形の描画 - Swing版 -(BezierSample01.java )
- ベジェ曲線を含む図形の描画 - Swing版 -(塗りつぶし) ( BezierSample02.java )
- ベジェ曲線を含む図形の描画 - Swing版 -(太線) ( BezierSample03.java )
- ベジェ曲線を含む図形の描画 - Swing版 -(破線) ( BezierSample04.java )
- ベジェ曲線を含む図形の描画 - Swing版 -(太線&塗りつぶし) ( BezierSample05.java )
- ベジェ曲線を含む図形の描画 - Swing版 -(破線&塗りつぶし) ( BezierSample06.java )
- ベジェ曲線を含む図形の描画 - Swing版 -(グラデーション) ( BezierSample07.java )
- ベジェ曲線を含む図形の描画 - Swing版 -(テクスチャーパターン) ( BezierSample08.java )
- ベジェ曲線を含む図形の描画 - Swing版 - (回転)( BezierSample09.java )
1. ベジェ曲線を含む図形の描画
[ サンプルプログラムのソースコード - BezierSample01.java - ]
- import javax.swing.JFrame;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.geom.GeneralPath;
- public class BezierSample01 extends JFrame {
- private static final long serialVersionUID = 1L;
- public BezierSample01() {
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
- public void paint(Graphics g){
- super.paint(g);
- Graphics2D g2 = (Graphics2D)this.getGraphics();
- g2.setPaint(Color.BLUE);
- GeneralPath p = new GeneralPath();
- p.moveTo( 40, 60);
- p.lineTo(140, 60);
- p.curveTo(100, 85, 100, 110, 140, 160);
- p.lineTo( 30, 160);
- p.curveTo( 80, 150, 80, 150, 40, 60);
- p.closePath();
- g2.draw(p);
- }
- public static void main(String[] args) {
- JFrame f = new BezierSample01();
- f.setTitle("Swingサンプル(ベジェ曲線を含む図形の描画)");
- f.setSize(200,200);
- f.setBackground(Color.WHITE);
- f.setVisible(true);
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ 関連ページ ]
ベジェ曲線を含む図形のアプレット版サンプル
Swing版サンプルの他の図形描画
四角形 /
角の丸い四角形 /
円 /
楕円 /
直線 /
連続直線 /
多角形 /
ベジェ曲線 /
円弧 /
楕円弧 /
弓形 /
扇形
2. ベジェ曲線を含む図形の描画(塗りつぶし)
[ サンプルプログラムのソースコード - BezierSample02.java - ]
- import javax.swing.JFrame;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.geom.GeneralPath;
- public class BezierSample02 extends JFrame {
- private static final long serialVersionUID = 1L;
- public BezierSample02() {
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
- public void paint(Graphics g){
- super.paint(g);
- Graphics2D g2 = (Graphics2D)this.getGraphics();
- g2.setPaint(Color.ORANGE);
- GeneralPath p = new GeneralPath();
- p.moveTo( 40, 60);
- p.lineTo(140, 60);
- p.curveTo(100, 85, 100, 110, 140, 160);
- p.lineTo( 30, 160);
- p.curveTo( 80, 150, 80, 150, 40, 60);
- p.closePath();
- g2.fill(p);
- }
- public static void main(String[] args) {
- JFrame f = new BezierSample02();
- f.setTitle("Swingサンプル(ベジェ曲線を含む図形の描画)");
- f.setSize(200,200);
- f.setBackground(Color.WHITE);
- f.setVisible(true);
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ 関連ページ ]
ベジェ曲線を含む図形(塗りつぶし)のアプレット版サンプル
Swing版サンプルの他の図形描画
四角形(塗りつぶし) /
角の丸い四角形(塗りつぶし) /
円(塗りつぶし) /
楕円(塗りつぶし) /
多角形(塗りつぶし) /
弓形(塗りつぶし) /
扇形(塗りつぶし)
3. ベジェ曲線を含む図形の描画(太線)
[ サンプルプログラムのソースコード - BezierSample03.java - ]
- import javax.swing.JFrame;
- import java.awt.BasicStroke;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.geom.GeneralPath;
- public class BezierSample03 extends JFrame {
- private static final long serialVersionUID = 1L;
- public BezierSample03() {
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
- public void paint(Graphics g){
- super.paint(g);
- Graphics2D g2 = (Graphics2D)this.getGraphics();
- g2.setPaint(Color.BLUE);
- g2.setStroke(new BasicStroke(5.0f));
- GeneralPath p = new GeneralPath();
- p.moveTo( 40, 60);
- p.lineTo(140, 60);
- p.curveTo(100, 85, 100, 110, 140, 160);
- p.lineTo( 30, 160);
- p.curveTo( 80, 150, 80, 150, 40, 60);
- p.closePath();
- g2.draw(p);
- }
- public static void main(String[] args) {
- JFrame f = new BezierSample03();
- f.setTitle("Swingサンプル(ベジェ曲線を含む図形の描画)");
- f.setSize(200,200);
- f.setBackground(Color.WHITE);
- f.setVisible(true);
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ 関連ページ ]
ベジェ曲線を含む図形(太線)のアプレット版サンプル
Swing版サンプルの他の図形描画
四角形(太線) /
角の丸い四角形(太線) /
円(太線) /
楕円(太線) /
直線(太線) /
連続直線(太線) /
多角形(太線) /
ベジェ曲線(太線) /
円弧(太線) /
楕円弧(太線) /
弓形(太線) /
扇形(太線)
4. ベジェ曲線を含む図形の描画(太線&塗りつぶし)
[ サンプルプログラムのソースコード - BezierSample04.java - ]
- import javax.swing.JFrame;
- import java.awt.BasicStroke;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.geom.GeneralPath;
- public class BezierSample04 extends JFrame {
- private static final long serialVersionUID = 1L;
- public BezierSample04() {
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
- public void paint(Graphics g){
- super.paint(g);
- Graphics2D g2 = (Graphics2D)this.getGraphics();
- g2.setStroke(new BasicStroke(5.0f));
- GeneralPath p = new GeneralPath();
- p.moveTo( 40, 60);
- p.lineTo(140, 60);
- p.curveTo(100, 85, 100, 110, 140, 160);
- p.lineTo( 30, 160);
- p.curveTo( 80, 150, 80, 150, 40, 60);
- p.closePath();
- g2.setPaint(Color.BLUE);
- g2.fill(p);
- g2.setPaint(Color.RED);
- g2.draw(p);
- }
- public static void main(String[] args) {
- JFrame f = new BezierSample04();
- f.setTitle("Swingサンプル(ベジェ曲線を含む図形の描画)");
- f.setSize(200,200);
- f.setBackground(Color.WHITE);
- f.setVisible(true);
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ 関連ページ ]
ベジェ曲線を含む図形(太線&塗りつぶし)のアプレット版サンプル
Swing版サンプルの他の図形描画
四角形(太線&塗りつぶし) /
角の丸い四角形(太線&塗りつぶし) /
円(太線&塗りつぶし) /
楕円(太線&塗りつぶし) /
多角形(太線&塗りつぶし) /
弓形(太線&塗りつぶし) /
扇形(太線&塗りつぶし)
5. ベジェ曲線を含む図形の描画(破線)
[ サンプルプログラムのソースコード - BezierSample05.java - ]
- import javax.swing.JFrame;
- import java.awt.BasicStroke;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.geom.GeneralPath;
- public class BezierSample05 extends JFrame {
- private static final long serialVersionUID = 1L;
- public BezierSample05() {
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
- public void paint(Graphics g){
- super.paint(g);
- Graphics2D g2 = (Graphics2D)this.getGraphics();
- g2.setPaint(Color.BLUE);
- 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));
- GeneralPath p = new GeneralPath();
- p.moveTo( 40, 60);
- p.lineTo(140, 60);
- p.curveTo(100, 85, 100, 110, 140, 160);
- p.lineTo( 30, 160);
- p.curveTo( 80, 150, 80, 150, 40, 60);
- p.closePath();
- g2.draw(p);
- }
- public static void main(String[] args) {
- JFrame f = new BezierSample05();
- f.setTitle("Swingサンプル(ベジェ曲線を含む図形の描画)");
- f.setSize(200,200);
- f.setBackground(Color.WHITE);
- f.setVisible(true);
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ 関連ページ ]
ベジェ曲線を含む図形(破線)のアプレット版サンプル
Swing版サンプルの他の図形描画
四角形(破線) /
角の丸い四角形(破線) /
円(破線) /
楕円(破線) /
直線(破線) /
連続直線(破線) /
多角形(破線) /
ベジェ曲線(破線) /
円弧(破線) /
楕円弧(破線) /
弓形(破線) /
扇形(破線)
6. ベジェ曲線を含む図形の描画(破線&塗りつぶし)
[ サンプルプログラムのソースコード - BezierSample06.java - ]
- import javax.swing.JFrame;
- import java.awt.BasicStroke;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.geom.GeneralPath;
- public class BezierSample06 extends JFrame {
- private static final long serialVersionUID = 1L;
- public BezierSample06() {
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
- public void paint(Graphics g){
- super.paint(g);
- Graphics2D g2 = (Graphics2D)this.getGraphics();
- 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.setPaint(Color.GREEN);
- GeneralPath p = new GeneralPath();
- p.moveTo( 40, 60);
- p.lineTo(140, 60);
- p.curveTo(100, 85, 100, 110, 140, 160);
- p.lineTo( 30, 160);
- p.curveTo( 80, 150, 80, 150, 40, 60);
- p.closePath();
- g2.fill(p);
- g2.setPaint(Color.RED);
- g2.draw(p);
- }
- public static void main(String[] args) {
- JFrame f = new BezierSample06();
- f.setTitle("Swingサンプル(ベジェ曲線を含む図形の描画)");
- f.setSize(200,200);
- f.setBackground(Color.WHITE);
- f.setVisible(true);
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ 関連ページ ]
ベジェ曲線を含む図形(破線&塗りつぶし)のアプレット版サンプル
Swing版サンプルの他の図形描画
四角形(破線&塗りつぶし) /
角の丸い四角形(破線&塗りつぶし) /
円(破線&塗りつぶし) /
楕円(破線&塗りつぶし) /
多角形(破線&塗りつぶし) /
弓形(破線&塗りつぶし) /
扇形(破線&塗りつぶし)
7. ベジェ曲線を含む図形の描画(グラデーション)
[ サンプルプログラムのソースコード - BezierSample07.java - ]
- import javax.swing.JFrame;
- import java.awt.Color;
- import java.awt.GradientPaint;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.geom.GeneralPath;
- public class BezierSample07 extends JFrame {
- private static final long serialVersionUID = 1L;
- public BezierSample07() {
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
- public void paint(Graphics g){
- super.paint(g);
- Graphics2D g2 = (Graphics2D)this.getGraphics();
- GradientPaint gp = new GradientPaint(10,10,Color.GREEN,100,10,Color.BLUE,true);
- g2.setPaint(gp);
- GeneralPath p = new GeneralPath();
- p.moveTo( 40, 60);
- p.lineTo(140, 60);
- p.curveTo(100, 85, 100, 110, 140, 160);
- p.lineTo( 30, 160);
- p.curveTo( 80, 150, 80, 150, 40, 60);
- p.closePath();
- g2.fill(p);
- }
- public static void main(String[] args) {
- JFrame f = new BezierSample07();
- f.setTitle("Swingサンプル(ベジェ曲線を含む図形の描画)");
- f.setSize(200,200);
- f.setBackground(Color.WHITE);
- f.setVisible(true);
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ 関連ページ ]
ベジェ曲線を含む図形(グラデーション)のアプレット版サンプル
Swing版サンプルの他の図形描画
四角形(グラデーション) /
角の丸い四角形(グラデーション) /
円(グラデーション) /
楕円(グラデーション) /
多角形(グラデーション) /
弓形(グラデーション) /
扇形(グラデーション)
8. ベジェ曲線を含む図形の描画(テクスチャーパターン)
[ サンプルプログラムのソースコード - BezierSample08.java - ]
- import javax.swing.JFrame;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.Rectangle;
- import java.awt.TexturePaint;
- import java.awt.geom.GeneralPath;
- import java.awt.image.BufferedImage;
- public class BezierSample08 extends JFrame {
- private static final long serialVersionUID = 1L;
- public BezierSample08() {
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
- public void paint(Graphics g){
- super.paint(g);
- Graphics2D g2 = (Graphics2D)this.getGraphics();
- 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);
- GeneralPath p = new GeneralPath();
- p.moveTo( 40, 60);
- p.lineTo(140, 60);
- p.curveTo(100, 85, 100, 110, 140, 160);
- p.lineTo( 30, 160);
- p.curveTo( 80, 150, 80, 150, 40, 60);
- p.closePath();
- g2.fill(p);
- }
- public static void main(String[] args) {
- JFrame f = new BezierSample08();
- f.setTitle("Swingサンプル(ベジェ曲線を含む図形の描画)");
- f.setSize(200,200);
- f.setBackground(Color.WHITE);
- f.setVisible(true);
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ 関連ページ ]
ベジェ曲線を含む図形(テクスチャーパターン)のアプレット版サンプル
Swing版サンプルの他の図形描画
四角形(テクスチャーパターン) /
角の丸い四角形(テクスチャーパターン) /
円(テクスチャーパターン) /
楕円(テクスチャーパターン) /
多角形(テクスチャーパターン) /
弓形(テクスチャーパターン) /
扇形(テクスチャーパターン) /
9. ベジェ曲線を含む図形の描画(回転)
[ サンプルプログラムのソースコード - BezierSample09.java - ]
- import javax.swing.JFrame;
- import java.awt.Color;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.Rectangle;
- import java.awt.TexturePaint;
- import java.awt.geom.AffineTransform;
- import java.awt.geom.GeneralPath;
- import java.awt.image.BufferedImage;
- public class BezierSample09 extends JFrame {
- private static final long serialVersionUID = 1L;
- public BezierSample09() {
- setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- }
- public void paint(Graphics g){
- super.paint(g);
- Graphics2D g2 = (Graphics2D)this.getGraphics();
- 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(Math.toRadians(45), 90,110);
- g2.setTransform(at);
- GeneralPath p = new GeneralPath();
- p.moveTo( 40, 60);
- p.lineTo(140, 60);
- p.curveTo(100, 85, 100, 110, 140, 160);
- p.lineTo( 40, 160);
- p.curveTo( 80, 150, 80, 150, 40, 60);
- p.closePath();
- g2.fill(p);
- }
- public static void main(String[] args) {
- JFrame f = new BezierSample09();
- f.setTitle("Swingサンプル(ベジェ曲線を含む図形の描画)");
- f.setSize(200,200);
- f.setBackground(Color.WHITE);
- f.setVisible(true);
- }
- }
|
[ サンプルプログラムの実行結果 ]
[ 関連ページ ]
ベジェ曲線を含む図形(回転)のアプレット版サンプル
Swing版サンプルの他の図形描画
四角形(回転) /
角の丸い四角形(回転) /
円(回転) /
楕円(回転) /
多角形(回転) /
弓形(回転) /
扇形(回転) /
|
|