java 指针时钟_java script 的指针式时钟怎么写
html>
画一个时钟
#canvas{
margin:200px auto;
border: 1px solid #e9e0b5;
display: block;
}
var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var width = ctx.canvas.width;
var height = ctx.canvas.height;
var r = width /2;
/*canvas绘制环境*/
function drawBackGround(ctx){
/*绘制圆框,60点,数字*/
ctx.save();
ctx.translate(r,r);
ctx.beginPath();
ctx.arc(0,0,r-5,0,Math.PI * 2);
ctx.lineWidth = 10;
ctx.stroke();
ctx.closePath();
ctx.font = "18px Arial";
ctx.textBaseline = "middle";
ctx.textAlign = "center";
var hoursNumber = [3,4,5,6,7,8,9,10,11,12,1,2];
/*传入的number为数组值,i为数组索引*/
hoursNumber.forEach(function (number,i) {
var rad = 2 * Math.PI / 12 * i;
var x = Math.cos(rad) * (r - 30);
/*cos与sin传入的是弧度值,包括rotate也是弧度,但是css中为deg*/
var y = Math.sin(rad) * (r - 30);
ctx.fillText(number,x,y);
});
for(var i= 0;i
var radDot = 2 * Math.PI / 60 * i;
var x = Math.cos(radDot) * (r - 18);
var y = Math.sin(radDot) * (r - 18);
ctx.beginPath();
/*必须在这里beginpath? 不然出现被灰圈遮住*/
if(i % 5 === 0){
ctx.arc(x,y,2,0,Math.PI *2);
ctx.fillStyle = "#000";
}else
{
ctx.arc(x,y,2,0,Math.PI *2);
ctx.fillStyle = "gray";
}
ctx.fill();
}
}
function drawHour(hour,minnue){
ctx.save();
ctx.beginPath();
var rad = Math.PI * 2 / 12 *hour;
var mrad = Math.PI * 2 / 12 / 60 * minnue;
/*分针会导致时针的运动,需要加上分针引起的弧度,每分钟会导致时针变化的弧度*/
ctx.rotate(rad + mrad);
ctx.moveTo(0,10);
ctx.lineTo(0,-r + 48);
ctx.lineCap = "round";
ctx.lineWidth = 6;
ctx.stroke();
ctx.restore();
}
function drawMinute(minute){
ctx.save();
ctx.beginPath();
var rad = Math.PI * 2 / 60 * minute;
ctx.rotate(rad);
ctx.moveTo(0,10);
ctx.lineTo(0,-r + 36);
ctx.lineCap = "round";
ctx.lineWidth = 3;
ctx.stroke();
ctx.restore();
};
function drawSecond(second){
ctx.save();
ctx.beginPath();
var rad = Math.PI * 2 / 60 * second;
ctx.rotate(rad);
ctx.moveTo(-2,20);
ctx.lineTo(2,20);
ctx.lineTo(1,-r + 40);
ctx.lineTo(-1,-r + 40);
ctx.fillStyle = "#c14543";
ctx.fill();
ctx.restore();
};
function drawDot(){
ctx.beginPath();
ctx.fillStyle = "#fff";
ctx.arc(0,0,3,0,Math.PI * 2);
ctx.fill();
/*中间的白点*/
}
function draw(){
ctx.clearRect(0,0,width,height);
/*每秒进行一次重绘*/
var now = new Date();
var hour = now.getHours();
var minute = now.getMinutes();
var second = now.getSeconds();
drawBackGround(ctx);
drawHour(hour,minute);
drawMinute(minute);
drawSecond(second);
drawDot();
ctx.restore()
}
draw();
setInterval(draw,1000);
欢迎明天采纳
java 指针时钟_java script 的指针式时钟怎么写相关推荐
- java 电子时钟_java多线程编程制作电子时钟
模拟一个电子时钟,它可以在任何时候被启动或者停止,并可以独立的运行. 1.定义一个Clock类.它继承Label类,并实现Runnable接口.这个类中有一个Thread类型的clocker域,以及s ...
- java 指针定义_Java中关于指针的个人理解
大一学生刚刚开始学习Java,很多概念性的东西或者名词不严谨,有错误的地方还望各位大神指正,写的都是自己的一些想法,便于我自己的记忆. 我学习Java一开始很费解,然后自己的一个方法就是把一些全新的概 ...
- java多线程世界时钟_Java实现的动态数字时钟功能示例【显示世界时间】
本文实例讲述了Java实现的动态数字时钟功能.分享给大家供大家参考,具体如下: 构建: 1. Clock继承 JFrame 为运行页面 2. ClockText 测试类 创建 Clock 对象 运行效 ...
- java显示多个地区时钟_Java实现的动态数字时钟功能示例【显示世界时间】
本文实例讲述了java实现的动态数字时钟功能.分享给大家供大家参考,具体如下: 构建: 1. clock继承 jframe 为运行页面 2. clocktext 测试类 创建 clock 对象 运行效 ...
- java动态时钟_Java实现的动态数字时钟功能示例【显示世界时间】|chu
本文实例讲述了Java实现的动态数字时钟功能.分享给大家供大家参考,具体如下: 构建: 1. Clock继承 JFrame 为运行页面 2. ClockText 测试类 创建 Clock 对象 运行效 ...
- java的简单数字时钟_Java实现的简单数字时钟功能示例
本文实例讲述了java实现的简单数字时钟功能.分享给大家供大家参考,具体如下: 应用名称:java数字时钟 用到的知识:java gui编程,线程 开发环境:win8+eclipse+jdk1.8 功 ...
- java视频流传输_java – 使用Xuggler流式传输视频
我能够使用下面的代码成功地与Xuggler一起播放视频.我需要能够从inputStream而不是文件流.我尝试使用注释掉的代码来创建一个Icontainer.当我注释掉代码时,我确实修改了getTes ...
- java 命名管道_Java中命名管道的并发读/写(在Windows上)
我正在尝试使用命名管道在Windows上使用命名管道提供C#应用程序和Java应用程序之间的通信,使用v01ver在此问题中描述的方法: How to open a Windows named pip ...
- java计算器类方法_java用类和方法的方式写的简单计算器
public class JiSuanQi { public double num1; public double num2; public JiSuanQi(double num1, double ...
- 南邮java实验_南邮JAVA程序设计实验4 线程程序设计(指针式时钟)
南邮JAVA程序设计实验4 线程程序设计(指针式时钟) 实验目的: 本实验旨在通过实验,培养学生将JAVA 线程的相关知识点(包括线程调度,线程同步等)有机结合并加以综合应用,在实验中设计多线程程序 ...
最新文章
- 谷歌发布深度学习新算法,适用于真实机器人的技能学习
- CSS问题的撰写准则
- 【Linux常用命令】grep命令
- ubuntu中的Jupyter Notebook更换浏览器需要输入密码
- uniapp图标_uniapp扩展自定义uniIcon组件图标
- 微商分销代理商城源码-代理等级和升级条件
- 适用于苹果Mac的 5 个 SSH 客户端软件
- Mac OS X 系统修改Terminal终端配色
- WPF教程(四) Hello,WPF!
- java io 和nio_java对比IO和NIO的文件读写性能测试
- 【MATLAB】MATLAB 仿真 — 模拟调制系统 之 AM 调制过程
- Mian容器中Page分頁
- 文件服务器杀毒软件推荐,服务器上装什么杀毒软件好?
- TypeError: _typeof4 is not a function,解决微信小程序报错
- iar定义arm版本_Keil MDK 和 IAR 两款ARM开发工具区别比较
- 【java8】LocalDateTime、LocalDate与LocalTime的基本使用
- chiplogic-网表提取-(2)二极管三极管电阻器件插入
- 用计算机能改装成万用表吗,电脑机箱风扇改装成DIY空调扇USB风扇
- 喵喵机打印机各系列通过USB数据线连接电脑打印
- 联想MIIX520笔记本电脑屏幕亮度无法调节问题