Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 502|回复: 0

[Swing学习]java swing绘制直升机

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-11-15 23:58:54 | 显示全部楼层 |阅读模式
    图:


    1. import java.awt.Color;
    2. import java.awt.Frame;
    3. import java.awt.Graphics;
    4. //import javax.*;
    5. //import javax.swing.JPanel;
    6. import javax.swing.JFrame;
    7. import javax.swing.JPanel;
    8. public class Helicoper {
    9.         public Helicoper(){
    10.                 //this.
    11.          
    12.     }   
    13.     public static void main(String[] args) {   
    14.         JFrame frame = new JFrame();  
    15.         frame.setSize(400,300);   
    16.         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);   
    17.         frame.setVisible(true);  
    18.         Panel panel = new Panel();   
    19.         frame.add(panel);   
    20.     }   
    21. }   
    22.   
    23.   
    24. class Panel extends JPanel {   
    25.   
    26.     public void paint(Graphics g) {   
    27.         super.paint(g);   
    28.         //着色   
    29.            
    30.         //后浆   
    31.         g.setColor(Color.CYAN);   
    32.         g.fillOval((15-12),(31-12),12*2,12*2);   
    33.         //前桨   
    34.         g.fillPolygon(new int[]{62,63,65,69,77,93,108}, new int[]{11,10,9,8,7,6,6}, 7);   
    35.         g.fillPolygon(new int[]{62,77,93,101,105,107,108}, new int[]{11,10,9,8,7,6,6}, 7);   
    36.                   
    37.         g.fillPolygon(new int[]{112,113,115,119,127,143,158}, new int[]{6,5,4,3,2,1,1}, 7);   
    38.         g.fillPolygon(new int[]{112,127,143,151,155,157,158}, new int[]{6,5,4,3,2,1,1}, 7);   
    39.       
    40.            
    41.         //飞机躯干   
    42.         g.setColor(Color.GREEN);   
    43.         g.fillPolygon(   
    44.                 new int[] { 158, 147, 139, 124, 120, 92, 76, 50,46,37,41, 14, 15, 75, 89, 142},   
    45.                 new int[] { 43,  34,  27,  23,  19,  19, 26, 28,25,25,28, 29, 33, 39, 51, 51},   
    46.                 16);   
    47.         g.fillArc(89+20, 52-(52-43)*2, (158-89)-20, (52-43)*2, 0, -70);   
    48.            
    49.         //机身   
    50.         g.setColor(Color.GRAY);   
    51.         g.fillPolygon(new int[]{87,123,124,74}, new int[]{22,22,24,26}, 4);   
    52.         g.fillArc(131-10, 38-(44-38), 10, (44-38)*2, 0, -90);   
    53.         g.fillPolygon(new int[]{74,81,131-10/2,131,124}, new int[]{26,44,44,38,24}, 5);   
    54.         g.fillPolygon(new int[]{54,45,37,46}, new int[]{31,31,25,25}, 4);   
    55.            
    56.         //尾翼   
    57.         g.fillPolygon(new int[]{24,17,14,13},  new int[]{28,21,21,28}, 4);   
    58.         g.fillArc(13,19,4,4,160,-180);   
    59.            
    60.         //前桨   
    61.         g.setColor(Color.RED);   
    62.         g.fillPolygon(new int[]{112,112,108,108}, new int[]{19,10,10,19}, 4);   
    63.         g.fillOval(108, (10-4), 4, 4);   
    64.            
    65.   
    66.         //飞机窗口   
    67.         g.setColor(Color.BLACK);   
    68.         g.fillPolygon(new int[]{147,133,128,139}, new int[]{34,34,25,27}, 4);   
    69.         g.fillPolygon(new int[]{87,123,120,92}, new int[]{22,22,19,19}, 4);   
    70.         g.fillPolygon(new int[]{129,120,116,124}, new int[]{35,35,26,24}, 4);   
    71.         g.fillPolygon(new int[]{113,117,108,102}, new int[]{26,35,35,26}, 4);   
    72.            
    73.         //飞机躯干   
    74.            
    75.            
    76.         g.drawPolyline(   
    77.                 new int[] { 158, 147, 139, 124, 120, 92, 76, 50,46,37,41, 14, 15, 75,89 ,142},   
    78.                 new int[] { 43, 34, 27, 23, 19, 19, 26, 28,25,25,28, 29, 33, 39, 51,51},   
    79.                 16);   
    80.         g.drawArc(89+20, 52-(52-43)*2, (158-89)-20, (52-43)*2, 0, -70);   
    81.   
    82.         //飞机头部   
    83.         g.drawPolyline(new int[]{147,133,128}, new int[]{34,34,25}, 3);   
    84.         //飞机机身   
    85.         g.drawPolyline(new int[]{87,123}, new int[]{22,22}, 2);   
    86.            
    87.   
    88.         g.drawPolyline(new int[]{74,124,131}, new int[]{26,24,38}, 3);   
    89.         g.drawArc(131-10, 38-(44-38), 10, (44-38)*2, 0, -90);   
    90.            
    91.         g.drawPolyline(new int[]{74,81,131-10/2}, new int[]{26,44,44}, 3);      
    92.         g.drawPolyline(new int[]{129,120,116}, new int[]{35,35,26}, 3);   
    93.         g.drawPolyline(new int[]{113,117,108,102}, new int[]{26,35,35,26}, 4);   
    94.            
    95.   
    96.         g.drawPolygon(new int[]{54,45,37,46}, new int[]{31,31,25,25}, 4);   
    97.            
    98.         g.drawLine(99, 26, 106, 44);   
    99.         g.drawLine(99, 32, 101, 32);   
    100.         g.drawLine(102, 39, 104, 39);   
    101.   
    102.         //飞机前桨           
    103.         g.drawPolyline(new int[]{112,112,108,108}, new int[]{19,10,10,19}, 4);      
    104.         g.drawOval(108, (10-4), 4, 4);   
    105.            
    106.         g.drawArc(108-(108-62)*2, 6-5, (108-62)*2, 5*2, 0, -90);   
    107.         g.drawArc(108-(108-62), 6, (108-62)*2, 5*2, 180, -90);   
    108.            
    109.         g.drawArc(112-(108-62), 6-5*2, (108-62)*2, 5*2, 0, -90);   
    110.         g.drawArc(112, 6-5, (108-62)*2, 5*2, 180, -90);   
    111.   
    112.         //飞机后浆 计算正切圆的切点坐标及外接正方形的起点坐标   
    113.   
    114.            
    115.         g.drawPolyline(new int[]{24,17}, new int[]{28,21}, 2);   
    116.         g.drawPolyline(new int[]{13,14}, new int[]{21,28},2);   
    117.         g.drawArc(13,19,4,4,160,-180);   
    118.   
    119.         g.drawOval((15-12),(31-12),12*2,12*2);   
    120.       
    121.         g.drawArc((15-8),(31-8),8*2,8*2,20,120);   
    122.         g.drawArc((15-8),(31-8),8*2,8*2,-20,-50);   
    123.         g.drawArc((15-8),(31-8),8*2,8*2,-90,-100);   
    124.         //飞机底座   
    125.         g.drawArc(108,51,16,16,0,90);   
    126.         g.drawArc(130,51,16,16,20,90);   
    127.         g.drawArc(55,(51-8+6),100,(16-6),-20,-70);      
    128.            
    129.     }   
    130. }
    复制代码

       
         
         
          
          

            
          

            
          
         
       

      


    源码下载:http://file.javaxxz.com/2014/11/15/235854390.zip
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2025-2-25 07:51 , Processed in 0.329017 second(s), 34 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表