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入门到精通教程
查看: 296|回复: 0

[Swing学习]"金刚石"作图程序

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

    [LV.1]初来乍到

    发表于 2014-10-30 23:55:29 | 显示全部楼层 |阅读模式
    程序运行图:


    //“金刚石”作图程序。
    import javax.swing.*;
    import javax.swing.event.*;
    import java.awt.*;
    import  java.awt.event.*;
      public class ChenWin2 extends JApplet  implements  ActionListener
        {
         int x0=200;
         int y0=150;
         int r=80;
         int n=15;
         double t=6.28318/n;
         int x[]=new int[50];
         int y[]=new int[50];
         JPanel p2=new JPanel();
       
          JButton bu=new JButton("好!");
          JButton ex=new JButton("结束");
          MyCanvas ca=new MyCanvas();
          MyPanel pa=new MyPanel(5,25,15,5,1,50,100,80,5,1);

           public void init(){
              Container con=getContentPane();  
              bu.addActionListener(this);
              ex.addActionListener(this);
         
               p2.add(bu);
               p2.add(ex);
               con.add("North",pa);
               con.add("Center",ca);
               con.add("South",p2);
         
           }


       class MyCanvas extends Canvas{
          public void paint(Graphics g)
           {
            something s;
            s=new something(105);
            g.drawString("This is ChenWin2!! Value"+s,20,50);
              for(int i=0;i<n;i++)
                 {
                  x=(int)(r*Math.cos(i*t)+x0);
                  y=(int)(r*Math.sin(i*t)+y0);
                 }
              g.setColor(Color.red);
             
          for(int i=0;i<=n-2;i++)
              {
                for(int j=i+1;j<=n-1;j++)
                  g.drawLine(x,y,x[j],y[j]);
               }

           }
       }

          public void actionPerformed(ActionEvent evt)
          {
               JButton jb=(JButton)evt.getSource();
            if(jb==bu){
         
              n=pa.v1;
              r=pa.v2;
              t=6.28318/n;
              for(int i=0;i<n;i++){
                   x=(int)(r*Math.cos(i*t)+x0);
                   y=(int)(r*Math.sin(i*t)+y0);
                 }
             
           ca.repaint();
             
           }
             if(jb==ex){
             System.out.println("OK!!!OK!!!!");
             System.exit(0);
           }
         
       }
      public static void main(String args[])
       {
        Framec bb;
        bb=new Framec(new ChenWin2());
        bb.setTitle("This is ChenWin2");
       }

      }


      class something
        {
          private int value;
          public something(int value)
             {
               this.value=value;
             }
       public String toString()
        {
          String s;
          s="<"+value+">";
          return s;
          }
       }


      class Framec extends JFrame
      {
         public Framec(JApplet applet)
          {
            
           setSize(600,450);
           addWindowListener(new MywindowListener());
           getContentPane().add("Center",applet);
           applet.init();
           show();
           }
      class MywindowListener extends WindowAdapter
       {
          public void windowClosing(WindowEvent e){
            System.exit(0);
           }   
        }
      }


    class MyPanel extends JPanel implements ChangeListener{
        JSlider sli1,sli2;
        int v1,v2;

        public  MyPanel(int min,int max,int val,int mjr,int mnr,
                         int min1,int max1,int val1,int mjr1,int mnr1){
           sli1=setSlider(min,max,val,mjr,mnr);
           sli2=setSlider(min1,max1,val1,mjr1,mnr1);
           v1=val;
           v2=val1;
           add(sli1);
           add(sli2);
       }

        public JSlider setSlider(int min,int max,int val,int mjr,int mnr){
            JSlider sli=new JSlider(JSlider.HORIZONTAL,min,max,val);
            sli.setPaintTicks(true);
            sli.setMajorTickSpacing(mjr);
            sli.setMinorTickSpacing(mnr);
            sli.setPaintLabels(true);
            sli.addChangeListener(this);
             
             
            return sli;
        }     

        public void stateChanged(ChangeEvent e){
           JSlider sli=(JSlider)e.getSource();

           if(sli==sli1){
              v1=sli1.getValue();
           }
           else if(sli.equals(sli2)){
              v2=sli2.getValue();
          }
        }
    }  

      
      
       
       

         
       

         
       
      



    源码下载:http://file.javaxxz.com/2014/10/30/235528828.zip
    回复

    使用道具 举报

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

    本版积分规则

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

    GMT+8, 2024-5-19 01:10 , Processed in 0.354740 second(s), 46 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

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