精华内容
下载资源
问答
  • 做一个简单的钟表
    2021-01-17 15:03:42

    package com.diyitian.zaiyixun;

    import java.awt.Graphics;

    import java.util.Calendar;

    import java.util.GregorianCalendar;

    import javax.swing.JFrame;

    import javax.swing.JPanel;

    public class TimeTest extends JFrame {

    public TimeTest()

    {

    ClockPanel jp_clock=new ClockPanel();

    add(jp_clock);

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    setSize(400,400);

    this.setLocationRelativeTo(null);

    setVisible(true);

    Thread ClockRun=new Thread(jp_clock);

    ClockRun.start();

    }

    public static void main(String[] args) {

    new TimeTest();

    }

    }

    class ClockPanel extends JPanel implements Runnable

    {

    private double CenterX,CenterY;

    private double Radius=100;

    private double HPointX,HPointY,MPointX,MPointY,SPointX,SPointY;

    private int Year,Month,Day,WeekDay,Hour,Minute,Second;

    private final double PI=3.141592653;

    public synchronized void paintComponent(Graphics g)

    {

    super.paintComponent(g);

    CenterX=this.getWidth()/2;

    CenterY=this.getHeight()/2;

    double HRadian=(PI/6)*Hour+(PI/360)*Minute+(PI/21600)*Second;

    double MRadian=(PI/30)*Minute+(PI/1800)*Second;

    double SRadian=(PI/30)*Second;

    HPointX=CenterX+Radius*0.6*Math.sin(HRadian);

    HPointY=CenterY-Radius*0.6*Math.cos(HRadian);

    MPointX=CenterX+Radius*0.8*Math.sin(MRadian);

    MPointY=CenterY-Radius*0.8*Math.cos(MRadian);

    SPointX=CenterX+Radius*Math.sin(SRadian);

    SPointY=CenterY-Radius*Math.cos(SRadian);

    //画表盘

    g.drawOval((int)(CenterX-Radius), (int)(CenterY-Radius), (int)(2*Radius),(int)(2*Radius));//椭圆

    g.drawString("12",(int)(CenterX),(int)(CenterY-Radius)+10);//字符串

    g.drawString("3",(int)(CenterX+Radius)-6 , (int)(CenterY));

    g.drawString("6", (int)(CenterX), (int)(CenterY+Radius));

    g.drawString("9",(int)(CenterX-Radius), (int)(CenterY));

    g.drawLine((int)(CenterX), (int)(CenterY), (int)(SPointX), (int)(SPointY));//画线

    g.drawLine((int)(CenterX), (int)(CenterY), (int)(MPointX), (int)(MPointY));

    g.drawLine((int)(CenterX), (int)(CenterY), (int)(HPointX), (int)(HPointY));

    g.drawString(WeekDay+" "+Month+" "+Day+" "+Hour+":"+Minute+":"+Second+" "+Year, 20, 350);

    }

    @Override

    public void run() {

    while(true)

    {

    try {

    setCurrentTime();

    repaint();

    Thread.sleep(1000);

    } catch (InterruptedException e) {

    e.printStackTrace();

    }

    }

    }

    public void setCurrentTime()

    {

    Calendar calendar=new GregorianCalendar();

    Year=calendar.get(Calendar.YEAR);

    Month=calendar.get(Calendar.MONTH);

    Day=calendar.get(Calendar.DAY_OF_MONTH);

    WeekDay=calendar.get(Calendar.DAY_OF_WEEK);

    Hour=calendar.get(Calendar.HOUR);

    Minute=calendar.get(Calendar.MINUTE);

    Second=calendar.get(Calendar.SECOND);

    }

    }

    更多相关内容
  • iOS实现简易钟表

    2020-08-25 00:42:45
    主要为大家详细介绍了iOS实现简易钟表,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 4.用QTimer设定时间,使钟表一秒钟刷新次。 代码分享 dialog.h #ifndef DIALOG_H #define DIALOG_H #include <QDialog> #include<QPen> QT_BEGIN_NAMESPACE namespace Ui { class Dialog; } QT_END_

    效果图

    在这里插入图片描述

    实现思路

    1.先插入一张自己喜欢的图片当背景。
    2.调用绘图函数画出时针,分针,秒针。
    3.调用绘图函数画出表盘。(如果图片有表盘也可以不画)
    4.用QTimer设定时间,使钟表一秒钟刷新一次。

    代码分享

    dialog.h

    #ifndef DIALOG_H
    #define DIALOG_H
    
    #include <QDialog>
    #include<QPen>
    
    QT_BEGIN_NAMESPACE
    namespace Ui { class Dialog; }
    QT_END_NAMESPACE
    
    class Dialog : public QDialog
    {
        Q_OBJECT
    
    public:
        Dialog(QWidget *parent = nullptr);
        ~Dialog();
        void paintEvent(QPaintEvent* event);
        static const QPoint hourHand[4];
        static const QPoint minuteHand[4];
        static const QPoint secondHand[4];
        QPen hourHandPen;
        QPen minuteHandPen;
        void drawHourHand(QPainter *painter);
        void drawMinuteHand(QPainter *painter);
        void drawsecondHand(QPainter *painter);
        void drawClockDial(QPainter *painter);
    
    private:
        Ui::Dialog *ui;
    };
    #endif // DIALOG_H
    
    

    dialog.cpp

    #include "dialog.h"
    #include "ui_dialog.h"
    #include<QPixmap>
    #include<QPainter>
    #include<QTimer>
    #include<QTime>
    const QPoint Dialog::hourHand[4] = {
        QPoint(2, 10),
        QPoint(-2, 10),
        QPoint(-2, -40),
        QPoint(2, -40)
    };
    const QPoint Dialog::minuteHand[4] = {
        QPoint(2, 15),
        QPoint(-2, 15),
        QPoint(-2, -70),
        QPoint(2, -70)
    };
    const QPoint Dialog::secondHand[4] = {
        QPoint(1, 18),
        QPoint(-1, 18),
        QPoint(-1, -90),
        QPoint(1, -90)
    };
    
    Dialog::Dialog(QWidget *parent)
        : QDialog(parent)
        , ui(new Ui::Dialog)
    {
        ui->setupUi(this);
        hourHandPen = QPen(palette().foreground(), 2.0);//设置小时刻度线为粗黑
        minuteHandPen = QPen(palette().foreground(), 1.0);//设置分钟刻度线为灰
        QTimer *timer = new QTimer(this);
        timer->start(1000);//一秒钟
        connect(timer,SIGNAL(timeout()),this,SLOT(update()));
        setWindowTitle("The Clock");
        resize(500,500);
    }
    
    Dialog::~Dialog()
    {
        delete ui;
    }
    void Dialog::paintEvent(QPaintEvent *event)
    {
        QPainter painter(this);
        QRect r1(0,0,500,500);
        QPixmap m(":/res/2_4.jpg");
        painter.drawPixmap(r1,m,r1);
        painter.translate(250,250);
        drawHourHand(&painter);
        drawMinuteHand(&painter);
        drawsecondHand(&painter);
        drawClockDial(&painter);
        painter.setBrush(Qt::black);
        painter.drawEllipse(QPoint(0,0),3,3);
    
    
    }
    void Dialog::drawHourHand(QPainter *painter)
    {
        QTime time = QTime::currentTime();
        painter->setBrush(Qt::black);
        painter->setPen(Qt::black);
        painter->save();
        painter->rotate(30.0*(time.hour()+time.minute()/60.0));
        painter->drawConvexPolygon(hourHand,4);//绘制时针
        painter->restore();//绘制图形后复位坐标系
    }
    void Dialog::drawMinuteHand(QPainter *painter)
    {
        QTime time = QTime::currentTime();
        painter->setBrush(Qt::black);
        painter->setPen(Qt::black);
        painter->save();
        painter->rotate(6.0*(time.minute()+time.second()/60.0));
        painter->drawConvexPolygon(minuteHand,4);//绘制分针
        painter->restore();//绘制图形后复位坐标系
    }
    void Dialog::drawsecondHand(QPainter *painter)
    {
        QTime time = QTime::currentTime();
        painter->setBrush(Qt::red);
        painter->setPen(Qt::red);
        painter->save();//保存坐标系,防止坐标系跑偏了
        painter->rotate(6.0*time.second());//注意是6.0,不是6
        painter->drawConvexPolygon(secondHand,4);//绘制秒针
        painter->restore();//绘制图形后复位坐标系
    }
    void Dialog::drawClockDial(QPainter *painter)
    {
        //绘制钟表刻度盘和数字
        for (int i = 1; i <=60; ++i)
        {
            painter->save();
            painter->rotate(6*i);//坐标轴旋转6度
            if (i % 5 == 0)
            {
                painter->setPen(hourHandPen);
                painter->drawLine(0, -190, 0, -170);
                painter->drawText(-20, -170, 40, 40,
                                  Qt::AlignHCenter | Qt::AlignTop,
                                  QString::number(i/5));
            }
            else
            {
                painter->setPen(minuteHandPen);
                painter->drawLine(0, -180, 0, -170);
            }
            painter->restore();//绘制图形后复位坐标系
        }
    }
    
    
    
    展开全文
  • JS提供了Date类型来处理时间和日期。...//创建一个时间日期对象 [removed]("下面的是世界标准的时间输出:</h4>"); [removed](today+"<hr>"); [removed]("下面的是符合我们本地的时间输出:</h4>"); [removed]
  • html5已经出来好长时间了,但仍然有不多小伙伴们不太懂,下面小编就来用html5实现一个简单钟表外观 #myCanvas{border:3px solid blue;} window.onload = function() { var mycanvas = document.getElementById(...

    html5已经出来好长时间了,但仍然有不多小伙伴们不太懂,下面小编就来用html5实现一个简单的钟表外观

    效果图

    20181027_5bd3f811ea3a8.png

    展开全文
  • 用canvas绘制一个简易钟表 最近学习了如何用canvas绘制一个简易钟表,代码如下 用canvas绘制钟表

    最近学习了如何用canvas制作一个简易钟表,代码如下

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <meta http-equiv="X-UA-Compatible" content="ie=edge">
        <title>用canvas绘制钟表</title>
        <style>
        #cv{
            border: 1px solid #333;
        }
        </style>
        <script>
        window.onload=function(){
            var cv=document.getElementById("cv");
            var ctx=cv.getContext("2d");
            setInterval(toDrawClock,1000)
            
          
            function toDrawClock(){
                var x=200;
                var y=200;
                var r=150;
                ctx.clearRect(0,0,cv.width,cv.height);
                
                // 获取本地时间
                var oDate=new Date();
                var oHours=oDate.getHours();
                var oMinutes=oDate.getMinutes();
                var oSeconds=oDate.getSeconds();
     
                // 计算当前时间对应的弧度
                var oHoursValue=(-90+oHours*30+oMinutes/2)*Math.PI/180;
                var oMinutesValue=(-90+oMinutes*6)*Math.PI/180;
                var oSecondsValue=(-90+oSeconds*6)*Math.PI/180;
     
                // 分针刻度,每6度一分钟
                ctx.beginPath();
                for(var i=0;i<60;i++){
                    ctx.moveTo(x, y);
                    ctx.arc(x, y, r, 6*i* Math.PI / 180, 6*(i+1) * Math.PI / 180);
                }
                ctx.closePath();
                ctx.stroke();
     
                ctx.fillStyle = "white";
                ctx.beginPath();
                ctx.moveTo(x, y);
                ctx.arc(x, y, 19/20*r,0, 360 * Math.PI / 180);
                ctx.closePath();
                ctx.fill();
     
                // 时针刻度,每30度一小时
                ctx.beginPath();
                ctx.lineWidth=3;
                for(var i=0;i<12;i++){
                    ctx.moveTo(x, y);
                    ctx.arc(x, y, r, 30*i* Math.PI / 180, 30*(i+1) * Math.PI / 180);
                }
                ctx.closePath();
                ctx.stroke(); 
     
                ctx.fillStyle = "white"; 
                ctx.beginPath();
                ctx.moveTo(x, y);
                ctx.arc(x, y, 18/20*r,0, 360 * Math.PI / 180);
                ctx.closePath();
                ctx.fill();
     
                // 绘制时针
                ctx.beginPath();
                ctx.lineWidth=6;
                ctx.moveTo(x, y);
                ctx.arc(x, y, 12/20*r,oHoursValue,oHoursValue);
                ctx.closePath();
                ctx.stroke();
                // 绘制分针
                ctx.beginPath();
                ctx.lineWidth=4;
                ctx.moveTo(x, y);
                ctx.arc(x, y, 16/20*r,oMinutesValue, oMinutesValue);
                ctx.closePath();
                ctx.stroke();
                // 绘制秒针
                ctx.beginPath();
                ctx.lineWidth=2;
                ctx.moveTo(x, y);
                ctx.arc(x, y, 18/20*r,oSecondsValue, oSecondsValue);
                ctx.closePath();
                ctx.stroke();
            }
            
     
        }
        </script>
    </head>
    <body>
      <div style="text-align: center;">
        <canvas id="cv" width="400px" height="400px">
        </canvas>
      </div>
        
    </body>
    </html>
    
    展开全文
  • 这里是一个简单的j2me钟表实现代码 自己的 大家可以参考一下
  • js html5制作简易的时钟表代码 js html5制作简易的时钟表代码 js html5制作简易的时钟表代码
  • HTML5制作简单钟表

    2019-11-06 22:35:38
    HTML5制作简单钟表
  • java-clock 简单实现给jpanel加一个本地钟表图片并在上面画出表针显示时间来练习多线程java
  • 此附件为一个旋转的钟表。代码简单,下载即可使用,无需应用额外的css 和js ,兼容性好。
  • C#写的一个钟表

    2012-01-13 18:09:16
    一个非常简单钟表,就是窗体画的不圆,这个不知道怎么解决
  • 主要为大家详细介绍了javascript绘制简单钟表效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • 自己上课一个小程序,有需要的自己下吧,希望大家继续努力
  • 主要介绍了原生JS实现的简单钟表功能,涉及javascript结合定时器的数值运算与页面元素属性动态修改相关操作技巧,需要的朋友可以参考下
  • 主要介绍了JS+CSS3实现的简易钟表效果,涉及JavaScript结合定时器的页面元素动态设置与数值计算相关操作技巧,需要的朋友可以参考下
  • 用基础图形做一个钟表 简述 利用Qpainter可以画出一些简单的图形,再将这些简单的图形组合,配合一些其他的函数和事件,就能实现一个基础的钟表。 效果图 代码实现 设置背景图片(此步骤可以省略,根据需要添加) ...
  • html部分比较简单,定义一个clock的div,内部有原点、时分秒针、日期以及时间,至于钟表上的刻度、数字等元素,因为量比较多,采用jvascript生成  <!doctype html> <html> <head> <meta ...
  • 制作一个钟表

    2019-11-09 17:23:49
    用EasyX制作的一个简易钟表,需设置字符集属性为多字节字符集。 #include<stdio.h> #include<graphics.h> #include<math.h> #include<stdlib.h> #define width 900 //屏幕的宽 #define ...
  • Js实现一个简单钟表动画canvas{margin-left:500px;margin-top:100px;}/*作者:胖兔时间:2017.8.9描述:用js和html5 canvas对象实现一个简单钟表程序*/varCanvas={//属性Context:document.getElementById("canvas")...
  • #-*-coding:utf-8-*-#python:2.x__author__=‘Administrator‘#TK实现一个秒表效果#目的:是为了简单学习下TKfromtimeimport*fromTkinterimport*classStopWatch(Frame):mesc=50def__init__(self,parent=None,**kw):...
  • 偶尔翻到了一个外国程序小哥的博客,跟着实现了一个简单的时钟功能,功能简单,但是也有一些技巧性,步骤如下 创建表盘 首先在场景中创建一个空物体,Create Empty,命名为clock。然后创建一个柱体Cylinder....
  • 主要为大家详细介绍了js实现特别简单钟表效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • Android简易钟表

    2022-05-16 12:46:25
    Android简易钟表

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,988
精华内容 2,795
热门标签
关键字:

做一个简单的钟表