回 帖 发 新 帖 刷新版面

主题:求助!!!!!!!!!!!!

请问怎么用java编程画出时钟的小刻度。

回复列表 (共4个回复)

沙发

如果有兴趣,请下载我的代码http://www.comp.nus.edu.sg/~daifei/program/Java/ClockPic/Clock.java和http://www.comp.nus.edu.sg/~daifei/program/Java/ClockPic/ClockPic.java
我当年的程序,画了个钟.

板凳

以下代码片断绘制了时钟的刻度,供你参考。

import javax.swing.*;
import java.awt.*;

class Demo extends JFrame
{
    public Demo()
    {
        MyPanel mp = new MyPanel();
        this.setContentPane(mp);
        this.setSize(400,370);
        this.setVisible(true);
    }
    public static void main(String[]args)
    {
        new Demo();
    }
}

class MyPanel extends JPanel
{
    public void paintComponent(Graphics g)
    {
        super.paintComponent(g);
        g.drawOval(50,20,300,300);
        for(int i=0;i<4;i++)
        {
            int d = i*90;
            double r = Math.toRadians(d);
            double sin = Math.sin(r);
            double cos = Math.cos(r);
            double x1 = 200+130*sin;
            double y1 = 170-130*cos;
            double x2 = 200+150*sin;
            double y2 = 170-150*cos;
            g.drawLine((int)x1,(int)y1,(int)x2,(int)y2);
        }
        for(int i=0;i<12;i++)
        {
            if(i%3==0)
               continue;
               
            int d = i*30;
            double r = Math.toRadians(d);
            double sin = Math.sin(r);
            double cos = Math.cos(r);
            double x1 = 200+140*sin;
            double y1 = 170-140*cos;
            double x2 = 200+150*sin;
            double y2 = 170-150*cos;
            g.drawLine((int)x1,(int)y1,(int)x2,(int)y2);
        }
        this.repaint();
    }
}

3 楼

我用的是校园网 很多网站都上不了  你能不能把你的代码发到我的邮箱里面啊  谢谢 tqiuyan_1986@163.com

4 楼


谢谢你的代码 我的那个时钟需要画出小刻度,就像手表上的刻度。

我来回复

您尚未登录,请登录后再回复。点此登录或注册