用java编写打印时间_编写一个java程序,读取系统时间,然后将时间用中文输出...
展开全部
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.util.Calendar;
import javax.swing.*;
public class Clock extends JPanel implements ActionListener
{
//创建时钟的外形
protected static Ellipse2D face = new Ellipse2D.Float( 3, 3, 94, 94 );
//创建时钟的标记
protected static GeneralPath tick = new GeneralPath();
static
{
tick.moveTo( 100, 100 );
tick.moveTo( 49, 0 );
tick.lineTo( 51, 0 );
tick.lineTo( 49, 6 );
tick.lineTo( 49, 0 );
}
//创建时针
protected static GeneralPath hourHand = new GeneralPath();
static
{
hourHand.moveTo( 50, 15 );
hourHand.lineTo( 53, 50 );
hourHand.lineTo( 50, 53 );
hourHand.lineTo( 47, 50 );
hourHand.lineTo( 50, 15 );
}
//创建分针
protected static GeneralPath minuteHand = new GeneralPath();
static
{
minuteHand.moveTo( 50, 2 );
minuteHand.lineTo( 53, 50 );
minuteHand.lineTo( 50, 58 );
minuteHand.lineTo( 47, 50 );
minuteHand.lineTo( 50, 2 );
}
//创建秒针
protected static GeneralPath secondHand = new GeneralPath();
static
{
secondHand.moveTo( 49, 5 );
secondHand.lineTo( 51, 5 );
secondHand.lineTo( 51, 62 );
secondHand.lineTo( 49, 62 );
secondHand.lineTo( 49, 5 );
}
//设置时钟的颜色e69da5e887aa3231313335323631343130323136353331333262383636
protected static Color faceColor = new Color( 220, 220, 220 );
protected static Color hourColor = Color.red.darker();
protected static Color minuteColor = Color.blue.darker();
protected static Color secondColor = new Color( 180, 180, 0 );
protected static Color pinColor = Color.gray.brighter();
//设置时钟的枢纽
protected Ellipse2D pivot = new Ellipse2D.Float( 47, 47, 6, 6 );
protected Ellipse2D centerPin = new Ellipse2D.Float( 49, 49, 2, 2 );
//创建饶时钟枢纽转的变换
protected AffineTransform hourTransform =
AffineTransform.getRotateInstance( 0, 50, 50 );
protected AffineTransform minuteTransform =
AffineTransform.getRotateInstance( 0, 50, 50 );
protected AffineTransform secondTransform =
AffineTransform.getRotateInstance( 0, 50, 50 );
//创建每秒触发一次的Timer
protected Timer timer = new Timer( 1000, this );
protected Calendar calendar = Calendar.getInstance();
public Clock()
{
setPreferredSize( new Dimension( 100, 100 ) );
}
public void addNotify()
{
super.addNotify();
timer.start();
}
public void removeNotify()
{
timer.stop();
super.removeNotify();
}
public void actionPerformed( ActionEvent event )
{
//更新calendar的时间
this.calendar.setTime( new java.util.Date() );
int hours = this.calendar.get( Calendar.HOUR );
int minutes = this.calendar.get( Calendar.MINUTE );
int seconds = this.calendar.get( Calendar.SECOND );
//设置变换, 使得时针、分针、秒针各自绕枢纽旋转一定的角度
hourTransform.setToRotation( ( ( double ) hours ) * ( Math.PI / 6.0 ), 50, 50 );
minuteTransform.setToRotation( ( ( double ) minutes ) * ( Math.PI / 30.0 ), 50, 50 );
secondTransform.setToRotation( ( ( double ) seconds ) * ( Math.PI / 30.0 ), 50, 50 );
repaint();
}
public void paint( Graphics g )
{
super.paint( g );
//得到图形上下文和抗锯齿处理
Graphics2D g2 = ( Graphics2D ) g;
g2.setRenderingHint( RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON );
g2.setPaint( faceColor );
g2.fill( face );
g2.setPaint( Color.black );
g2.draw( face );
//产生钟面上12个滴答位置
for( double p = 0.0; p < 12.0; p += 1.0 )
{
//利用变换画出同心的滴答的标线
g2.fill( tick.createTransformedShape(
AffineTransform.getRotateInstance( ( Math.PI / 6.0 ) * p, 50, 50 ) ) );
}
g2.setPaint( hourColor );
g2.fill( hourHand.createTransformedShape( hourTransform ) );
g2.setPaint( minuteColor );
g2.fill( minuteHand.createTransformedShape( minuteTransform ) );
g2.setPaint( secondColor );
g2.fill( secondHand.createTransformedShape( secondTransform ) );
g2.fill( pivot );
g2.setPaint( pinColor );
g2.fill( centerPin );
}
public static void main( String[] args )
{
JFrame frame = new JFrame();
frame.setLocation( 700, 400 );
frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
frame.getContentPane().add( new Clock() );
frame.pack();
frame.show();
}
}
已赞过
已踩过<
你对这个回答的评价是?
评论
收起
用java编写打印时间_编写一个java程序,读取系统时间,然后将时间用中文输出...相关推荐
- java输入字符串异常_设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为“XYZ”。。。...
设计一个 Java 程序,自定义异常类,从命令行(键盘)输入一个字符串,如果该字符串值为"XYZ",则抛出一个异常信息"This is a XYZ",如果从命令 ...
- java 64内存不足_请教一个 Java 内存占用的问题
第 1 条附言 · 364 天前 2020-03-04 01:08:55.525 [HikariPool-1 housekeeper] WARN c.z.hikari.pool.HikariPoo ...
- java单链表例子_写一个java链表的例子?随便举例说一下。
展开全部 //单链表类 package dataStructure.linearList; import dataStructure.linearList.Node; //导入单链表结点类 impor ...
- Java web 服务器 搭建_搭建一个java web服务端
最近也是做了一个简单的java web 项目,由于以前也是没接触过,在这里记录下搭建一个web服务端的过程. 一般我们做一个服务端要么在本地自己的电脑上先安装环境,一般是windows系统,主要安装j ...
- java开发岗位认识_身为一个java开发人员对目前java开发的一些小小的认识
为什么要学java? 第一要工作,第二想要高薪 首先身为java开发工作人员你的思想认知程度要搞,思想认知程度决定你的专业技能水平 JavaSE工程师 B/S 架构 ---- 浏览器 ...
- java将古诗竖排_写一个java程序 将一首古诗竖着排序从右往左读
展开全部 import java.awt.Color; import java.awt.Font; import java.awt.GradientPaint; import java.awt.Gra ...
- A002、java环境搭建_第一个java程序
目录 1.内容介绍 2.软件开发概述 2.1 软件开发概念 2.2 软件开发示例 2.3 软件开发语言 2.3.1 计算机语言概述 2.3.2 计算机语言分类 2.4 小结 3.Java概述 3.1 ...
- 《快乐编程大本营》java语言训练班 1课:第一个java程序:你好,范冰冰;
<快乐编程大本营>java语言训练班 1课:第一个java程序:你好,范冰冰: 1Java介绍 2安装java环境JDK 3安装web环境tomcat 4安装开发工具Idea2017 5编 ...
- java容器有哪些_什么是Java容器?Java常见容器有哪些?
我们在面试中或者在实际工作中,常常问到这个问题,那么最基本的我们首先要了解什么是java容器,再去学习java常见容器. 在百度上,是这么解释java容器的: 容器是一个Java 所编写的程序,原先必 ...
- 入门的第一个C++程序。从键盘输入学生姓名,然后输出指定格式的内容。
PTA 作业罢了,仅供参考. 入门的第一个C++程序.从键盘输入学生姓名,然后输出指定格式的内容. 输入格式: 学生姓名. 输出格式: Hello, C++! My name is <学生姓名& ...
最新文章
- 我的微软最有价值专家(Microsoft MVP)之路
- 五分钟理解yield在python中的简单用法,让你不再迷惑
- 元宇宙大热后将陷低潮, 虚实互联网更准确, 2030前后才可能全面热启
- 计算机学习的基本形式,电脑基础知识学习方法
- 【BZOJ3439】Kpm的MC密码,trie树+dfs序+主席树
- 大规模数据存储集群数据存放的设计,分布式shardid的生成 - 如何指定范围随机数, 分组随机数...
- .NET简谈反射(动态调用)
- 梦到两个人辞职,一男一女
- 用 Python 搭建解一元二次方程的计算器
- IDEA离线安装插件
- 【AI教程】AI科研绘图
- 北大软微计算机动画,【新增】2019年北京大学软微学院【电影方向】考研653、905参考书真...
- 美工素材 站酷 千图网 昵图网
- Java实现内网穿透
- JSP页面的初步编写
- GeneXus中如何使用聊天机器人
- 鸿蒙生态的2021:像犀牛在丛林飞
- luogu P2056 采花
- CGR模型文件如何转换成FBX格式文件
- 设计团旗的c语言程序设计教程课后答案,最新团知识竞赛题目及答案
热门文章
- cxf 本地wsdl_cxf使用wsdl文件生成代码
- sudo apt install镜像_将Docker镜像安全扫描步骤添加到CI/CD管道
- 深度网络pre-train对于深度网络的意义
- 关于Faster R-CNN的一切——笔记3:Faster R-CNN
- 错误fatal error: zlib.h: 没有那个文件或目录的解决办法
- 请编写一个 C 函数,该函数给出一个字节中8二进制数中为1的个数
- 把javascript中的json对象传到action的list里的方法
- 2017-07-02 前端日报
- 使用BootStrapValidator来完成前端输入验证
- 获取iPhone型号