⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 archimedes.java

📁 这是一个java程序
💻 JAVA
字号:
//四叶玫瑰:r=asin2θ,或r=acos2θ
//三叶玫瑰:r=asin3θ,或r=acos3θ
//星形线:x=asinθ.sinθ.sinθ,或y=acosθcosθcosθ
//心形线:r=a(1-cosθ)
//阿基米德螺线:r=aθ
//双曲螺线:rθ=a
//伯努利双纽线:rr=aasin2θ或rr=aacos2θ

import java.awt.*;
import java.awt.event.*;
public class Archimedes extends Frame 
             implements WindowListener,ComponentListener,ItemListener
{
    int width1=600,height1=400;                //窗口尺寸 
    Color color = Color.blue;                  //画线的颜色
    CheckboxGroup cg1 ;
    Checkbox  cb1,cb2,cb3;
    public Archimedes()
    {
        setTitle("Rose");
        setSize(width1,height1);
        setBackground(Color.white);
        setLayout(new FlowLayout());
        addWindowListener(this);
        addComponentListener(this);
        cg1 = new CheckboxGroup();
        cb1 = new Checkbox("blue",cg1,true);
        cb2 = new Checkbox("red",cg1,false);
        cb3 = new Checkbox("green",cg1,false);
        cb1.addItemListener(this);
        cb2.addItemListener(this);
        cb3.addItemListener(this);
        add(cb1);
        add(cb2);
        add(cb3);
    }
    public void paint(Graphics g)
    {
        int x0,y0;                             //原点坐标
        x0 = width1 /2;
        y0 = height1 /2;
        g.setColor(color);
        g.drawLine(x0,0,x0,height1);
        g.drawLine(0,y0,width1,y0);
        int i,x,y;
        double pi=3.14,angle,r;
        for (i=0;i<1023;i++){
            angle = i*pi/512;
            r = 25*angle;
            x =(int) Math.round(r*Math.cos(angle)*2);
            y =(int) Math.round(r*Math.sin(angle));
            g.fillOval(x0+x,y0+y,1,1);     //画圆点
        }
            
        
    }
    public void windowClosing(WindowEvent e)
    {
        System.exit(0);
    }
    public void componentResized(ComponentEvent e)   //改变窗口大小时
    {  
        width1 = getWidth();                         //取得窗口的大小
        height1 = getHeight(); 
    }
    public void itemStateChanged(ItemEvent e)
    {                                                //选中单选按钮时
        if (e.getSource()==cb1)           //判断产生事件对象e的组件是谁
            color = Color.blue;
        if (cb2.getState())                     //判断单选按钮cb2的状态
            color = Color.red;
        if (cg1.getSelectedCheckbox()==cb3) //判断复选框组cg1选中的是谁
            color = Color.green;
        repaint();                                   //重画
    }
    public static void main(String arg[])
    {                            //创建并显示Frame对象,Frame作为画布
        new Archimedes().setVisible(true);
    }
    public void componentMoved(ComponentEvent e)    {  }
    public void componentHidden(ComponentEvent e)   {  }
    public void componentShown(ComponentEvent e)    {  }
    public void windowOpened(WindowEvent e)         {  }
    public void windowActivated(WindowEvent e)      {  }
    public void windowDeactivated(WindowEvent e)    {  }
    public void windowClosed(WindowEvent e)         {  }
    public void windowIconified(WindowEvent e)      {  }
    public void windowDeiconified(WindowEvent e)    {  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -